我的SQL表中有三列:Date
,Time
和Check
。
我想将Date和Time值一起连接到基于Check Column的datetime列。
Check列包含varchar值'Today'或'Tomorrow'。因此,如果Check值为'Today',则Time应与今天的日期连接,否则如果Check值为'tomorrow',则时间应与明天的日期连接。
有没有办法根据另一列用SQL语句连接两列?
答案 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
部分或根据需要将其设置为其他内容。