Mik*_*ike 19 sql sql-server stored-procedures case sql-like
我对SQL很陌生,希望有人可以帮助我.
我有一个存储过程,我想根据列是否包含某个国家/地区来传递不同的值.
到目前为止,我只CASE在检查具有特定数字或值的匹配时使用,所以我不确定这个.有人可以告诉我以下是否有效和正确或让我知道如何正确地写这个(只是关于括号中的部分)?
(CASE countries
WHEN LIKE '%'+@selCountry+'%' THEN 'national'
ELSE 'regional') AS validity
Run Code Online (Sandbox Code Playgroud)
注意: @selCountry是国家/地区的变量名称,国家/地区可以为空,一个国家或多个国家/地区以逗号和空格分隔.基本上我只想检查国家是否包含@selCountry,如果是,则将有效性设置为"国家".
dea*_*ean 35
这是您需要的语法:
CASE WHEN countries LIKE '%'+@selCountry+'%' THEN 'national' ELSE 'regional' END
Run Code Online (Sandbox Code Playgroud)
虽然,根据您的原始问题,我会以不同的方式解决它,将@selcountry的内容拆分为表格形式并加入其中.
添加END之前的别名。
CASE WHEN countries LIKE '%'+@selCountry+'%' THEN 'national'
ELSE 'regional'
END
AS validity
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87621 次 |
| 最近记录: |