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

How to concatenate date and time columns based on value from another column in sql?

我的 SQL Table 中有三个专栏:DateTimeCheck

我想将日期和时间值连接到一个基于检查列的日期时间列中。

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

有没有办法用 SQL 语句连接基于另一列的两列?

如果你正在做 select 那么你可以像

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 部分或根据需要将其设置为其他内容。