首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rqxiao
V2EX  ›  程序员

mysql datetime 字段进行比较

  •  
  •   rqxiao · 104 天前 · 657 次点击
    这是一个创建于 104 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果大于当前时间 返回待生效

    如果小于当前时间 且是离当前时间最近的 返回 使用中

    剩下的 返回已失效

    求解

    3 回复  |  直到 2019-10-18 10:49:05 +08:00
    nwljy
        1
    nwljy   104 天前
    case when

    当前时间 :SYSDATE;
    格式 (to_date(BUSI_DATE,'yyyyMMdd') + 8) >= SYSDATE;
    rqxiao
        2
    rqxiao   103 天前
    SELECT
    effective_time ,
    CASE
    WHEN effective_time <date_format(now() ,'%Y-%m-%d %H:%i:%S') THEN
    '11'
    WHEN effective_time >date_format(now() ,'%Y-%m-%d %H:%i:%S') THEN
    '22'
    WHEN effective_time =date_format(now() ,'%Y-%m-%d %H:%i:%S') THEN
    '33'
    ELSE
    '44444444'
    END 'xxxx'
    FROM
    student;



    select max(effective_time) from student where effective_time< now();


    请问有什么办法把下面 那句话放到 第三个 when 里面吗
    setsunakute
        3
    setsunakute   103 天前   ♥ 1
    SELECT
    effective_time , @max_time := (select max(effective_time) from student where create_time < now()) as 'max_time',
    CASE
    WHEN effective_time < @max_time THEN
    '11'
    WHEN effective_time > @max_time THEN
    '22'
    WHEN effective_time = @max_time THEN
    '33'
    ELSE
    '44444444'
    END 'xxxx'
    FROM
    student;


    这样, select 的时候会多一个字段, 处理的时候忽略就可以了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   805 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 22:03 · PVG 06:03 · LAX 14:03 · JFK 17:03
    ♥ Do have faith in what you're doing.