我正在尝试在我的SQL查询中使用CASE语句,并且它的工作方式与我认为的方式不同.
基本上,我需要实现三个场景,并使用日期字段,例如我有以下数据:
ID | date_activated1 | 2011-10-10 07:00:062 | 2011-03-12 10:00:003 | 2011-11-27 18:10:364 | 2010-01-25 14:30:435 | 0000-00-00 00:00:00
使用以下sql:
select ID,case date_activatedwhen date_activated > '2011-11-23 18:30:00' then 'after'when date_activated > '2010-01-20 00:00:00' then 'before'else 'not yet'end as date_notefrom table1
应该带出:
ID | date_activated | date_note1 | 2011-10-10 07:00:06 | before2 | 2011-03-12 10:00:00 | before3 | 2011-11-27 18:10:36 | after4 | 2010-01-25 14:30:43 | before5 | 0000-00-00 00:00:00 | not yet
然而,它正在解决这个问题:
ID | date_activated | date_note1 | 2011-10-10 07:00:06 | not yet2 | 2011-03-12 10:00:00 | not yet3 | 2011-11-27 18:10:36 | not yet4 | 2010-01-25 14:30:43 | not yet5 | 0000-00-00 00:00:00 | after
我无法理解我做错了什么,但我敢打赌它很简单!最佳答案试试这个 –
SELECT ID,CASE WHEN date_activated > '2011-11-23 18:30:00' THEN 'after' WHEN date_activated > '2010-01-20 00:00:00' THEN 'before' ELSE 'not yet' END AS date_noteFROM table1;
MysqL中有两个CASE流函数,你应该使用一个条件. 总结
以上是内存溢出为你收集整理的MySQL CASE语句使用日期全部内容,希望文章能够帮你解决MySQL CASE语句使用日期所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)