rem*_*rem 1 sql t-sql sql-server stored-procedures
是否可以在SQL Server存储过程中仅使用字段值的几个起始字符作为case语句的基础?
例如,我需要根据同一个表的另一个字段中的前三个字符更新表中的字段:
UPDATE Table1
SET Field1 = CASE
WHEN ??? = 'vl1' THEN '01'
WHEN ??? = 'vl2' THEN '02'
WHEN ??? = 'vl3' THEN '03'
'''''
END
Run Code Online (Sandbox Code Playgroud)
我怎么能使用值的前三个字符Field2而不是????
UPDATE Table1
SET Column1 = CASE SUBSTRING(Column2,1,3)
WHEN 'vl1' THEN '01'
WHEN 'vl2' THEN '02'
WHEN 'vl3' THEN '03'
'''''
END
Run Code Online (Sandbox Code Playgroud)
(我已切换到一个简单的CASE表达式,因为这就是我们所需要的,并且也切换了术语)