如何根据 sql 中另一列的值连接日期和时间列?
How to concatenate date and time columns based on value from another column in sql?
我的 SQL Table 中有三个专栏:Date
、Time
和 Check
。
我想将日期和时间值连接到一个基于检查列的日期时间列中。
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
部分或根据需要将其设置为其他内容。
我的 SQL Table 中有三个专栏:Date
、Time
和 Check
。
我想将日期和时间值连接到一个基于检查列的日期时间列中。
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
部分或根据需要将其设置为其他内容。