加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

MySQL CASE语句使用日期

发布时间:2021-04-03 00:17:36 所属栏目:编程 来源:网络整理
导读:我正在实行在我的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

我正在实行在我的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-25 14:30:43
5  | 0000-00-00 00:00:00

行使以下SQL:

select id,case date_activated
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_note
from table1

应该带出:

id | date_activated       | date_note
1  | 2011-10-10 07:00:06  | before
2  | 2011-03-12 10:00:00  | before
3  | 2011-11-27 18:10:36  | after
4  | 2010-01-25 14:30:43  | before
5  | 0000-00-00 00:00:00  | not yet

然而,它正在办理这个题目:

id | date_activated       | date_note
1  | 2011-10-10 07:00:06  | not yet
2  | 2011-03-12 10:00:00  | not yet
3  | 2011-11-27 18:10:36  | not yet
4  | 2010-01-25 14:30:43  | not yet
5  | 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_note
FROM table1;

MySQL中有两个CASE流函数,你应该行使一个前提.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读