【发布时间】:2021-03-09 12:42:26
【问题描述】:
我有两个表,每个表都有日期列我想将第一个表的日期更新为第二个表中的日期,而只更改 yyyy-mm-dd 的时间
select substring(CONVERT(varchar(25), r1.date1, 121),1,10),
substring(CONVERT(varchar(25), r2.date2, 121),1,10)
from table1 r1 join
table2 r2
on r1.Number = r2.Number
update r1
set r1.date1=substring(CONVERT(varchar(25), r1.[Time], 121),1,10) = substring(CONVERT(varchar(25), r2.date2, 121),1,10)
from table1 r1 join
table2 r2
on r1.Number = r2.Number
【问题讨论】:
-
请提供样本数据和期望的结果。另外,为什么您的查询不起作用?
-
我建议您使用 datediff 和 dateadd 通过添加/减去适当的天数来调整所需的值 - 这将使时间部分不受影响。您的目标示例将帮助其他人更全面地了解您的问题。
-
在提出问题时,您需要提供一个可重现的最小示例。请参考以下链接:stackoverflow.com/help/minimal-reproducible-example 请提供以下内容: (1) DDL 和样本数据填充,即 CREATE table(s) 加上 INSERT T-SQL 语句。 (2) 你需要做什么,即逻辑和你的代码尝试在 T-SQL 中实现它。 (3) 期望的输出,基于上面#1 中的样本数据。 (4) 你的 SQL Server 版本 (SELECT @@version;)
标签: sql sql-server substring