如何根据sql中另一列的值连接日期和时间列?

时间:2015-03-06 09:01:19

标签: mysql sql datetime concatenation

我的SQL表中有三列:DateTimeCheck

我想将Date和Time值一起连接到基于Check Column的datetime列。

Check列包含varchar值'Today'或'Tomorrow'。因此,如果Check值为'Today',则Time应与今天的日期连接,否则如果Check值为'tomorrow',则时间应与明天的日期连接。

有没有办法根据另一列用SQL语句连接两列?

1 个答案:

答案 0 :(得分:1)

如果您正在进行选择,那么您可以这样做

select
date,
time,
case 
 when check = 'Today' then concat(curdate(),' ',time)
 when check = 'Tomorrow' then concat( date_add(curdate(),interval 1 day) ,' ', time ) 
 else concat(date,' ', time) 
 end as datetime
from table_name

现在,如果您想要更新,那么您可以这样做

update table_name 
set 
datetime =  case 
     when check = 'Today' then concat(curdate(),' ',time) 
     when check = 'Tomorrow' then concat( date_add(curdate(),interval 1 day) ,' ', time ) 
     else concat(date,' ', time) 

您可以忽略else部分或根据需要将其设置为其他内容。