Pau*_*aul 14 sql t-sql sql-server-2005
我需要一个允许部分匹配的case语句.我收到语法错误,但我想知道是否有类似的东西是可能的.如果没有,我的辅助解决方案是重写为游标...示例:
SELECT CASE ColumnName
WHEN 'value1' THEN 'answer1'
WHEN 'value2' THEN 'answer2'
WHEN LIKE '%TEST%' THEN 'answer3'
END AS Answer
FROM TableName
Run Code Online (Sandbox Code Playgroud)
SQL*_*ace 32
试试这个
SELECT CASE
WHEN ColumnName = 'value1' THEN 'answer1'
WHEN ColumnName = 'value2' THEN 'answer2'
WHEN ColumnName LIKE '%TEST%' THEN 'answer3'
END AS Answer
FROM TableName
Run Code Online (Sandbox Code Playgroud)
你可以运行的例子
SELECT name,CASE
WHEN Name = 'sysobjects' THEN 'answer1'
WHEN Name = 'syscols' THEN 'answer2'
WHEN Name LIKE '%p%' THEN 'answer3'
ELSE 'unknown'
END AS Answer
FROM sysobjects
Run Code Online (Sandbox Code Playgroud)
需要使用略有不同的CASE语法:
SELECT CASE WHEN ColumnName LIKE 'value1' THEN 'answer1'
WHEN ColumnName LIKE 'value2' THEN 'answer2'
WHEN ColumnName LIKE '%TEST%' THEN 'answer3'
ELSE 'not like any of them' END [Answer]
FROM TableName
Run Code Online (Sandbox Code Playgroud)