我有一些麻烦了CASE的说法,从转换的值时,我得到一个错误VARCHAR来INT.我知道这是由于优先约束,并修复我需要CONVERT/CAST我的一个值,我很难找出要转换的内容.
这个原始的帖子把我推向了正确的方向,只是敲打着我的脑袋想出来.
UPDATE Table1
SET IntField = ( CASE WHEN ( VARCHARField = 0
OR VARCHARField = 1
OR VARCHARField = 2
OR VARCHARField = 3
) THEN 0
WHEN ( VARCHARField = 4
OR VARCHARField = 5
OR VARCHARField = 6
OR VARCHARField = 7
) THEN 1
WHEN ( VARCHARField = 8
OR VARCHARField = 9
) THEN 2
WHEN ( VARCHARField = 'N' ) THEN 3
ELSE …Run Code Online (Sandbox Code Playgroud)