sqlite case when 语句注意

楼主
我是社区第66260位番薯,欢迎点我头像关注我哦~
sqlite3也是支持case when语句的,但是我写的
select 住院号,
     case when strftime('%w',出院日期)in (3,4,5,6)And julianday(出科日期)- julianday(出院日期) between 3 and 5 then  julianday(出科日期)- julianday(出院日期)-2
else julianday(出科日期)- julianday(出院日期)
      end as 天数
    from 出科明细
一直不起作用,不管怎么改,结果都是julianday(出科日期)- julianday(出院日期)
在网上也找不到原因,后来测试出来when语句的值要加单引号才起作用,上面语句改为以下形式就可以了
when strftime('%w',出院日期)in ('3','4','5','6')And julianday(出科日期)- julianday(出院日期) between 3 and 5 then  julianday(出科日期)- julianday(出院日期)-2

我也测试过用“>,<,="等运算符时也要加单引号,但between不能加,加上反而出错。
分享扩散:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 1关注人数 4609浏览人数
最后回复于:2016-3-21 15:25

返回顶部 返回列表