我在使用CASE语句执行查询时遇到问题。根据我的条件(例如,长度),我想执行不同的SQL语句。
有问题的样本查询如下:
select case
when char_length('19480821') = 8
then select count(1) from Patient
when char_length('19480821')=10
then select count(1) from Doctor
end
Run Code Online (Sandbox Code Playgroud)
例外:
[错误]脚本行:1-5 --------------------------
关键字'select'附近的语法不正确。
消息:156,级别:15,状态:2
服务器:sunsrv4z7,行:2
我无法纠正语法。我正在从用户那里获取char_length的字符串作为输入。如何根据特定条件触发查询?CASE是正确的选择吗?还是我必须使用其他任何东西。
只需在选择语句周围加上左右括号即可解决您的问题
select
case when
char_length('19480821')=8 then
(select count(1) from Patient )
when
char_length('19480821')=10 then
(select count(1) from Doctor )
end
Run Code Online (Sandbox Code Playgroud)
select
case when char_length('19480821')=8 then (select count(1) from Patient)
when char_length('19480821')=10 then (select count(1) from Doctor)
end
Run Code Online (Sandbox Code Playgroud)
问题是您在嵌套的“Select”语句中缺少左括号和右括号:)
| 归档时间: |
|
| 查看次数: |
19025 次 |
| 最近记录: |