MySQL CASE语句使用日期

MySQL CASE语句使用日期,第1张

概述我正在尝试在我的SQL查询中使用CASE语句,并且它的工作方式与我认为的方式不同.基本上,我需要实现三个场景,并使用日期字段,例如我有以下数据:id | date_activated 1 | 2011-10-10 07:00:06 2 | 2011-03-12 10:00:00 3 | 2011-11-27 18:10:36 4 | 2010-01-

我正在尝试在我的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语句使用日期所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1167036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存