如何根据CASE执行不同的SELECT语句

2023-11-27

我在使用 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

例外:

[错误] 脚本行:1-5 --------------------------
关键字“select”附近的语法不正确。
消息:156,级别:15,状态:2
服务器:sunsrv4z7,线路:2

我无法纠正语法。我正在获取 char_length 的字符串作为用户的输入。 如何根据特定条件触发查询? CASE是正确的选择吗?或者我必须使用其他东西吗?


只需将左括号和右括号放在 select 语句周围即可解决您的问题

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据CASE执行不同的SELECT语句 的相关文章

随机推荐