gpt4 book ai didi

sql - 将日期时间值更新为相同日期但保留时间

转载 作者:行者123 更新时间:2023-12-02 19:25:44 26 4
gpt4 key购买 nike

我希望将表中所有值的日期更新为相同的日期,但保留每条记录的时间 .

So these three dates...
8/28/2012 14:00:00
8/28/2010 12:00:00
8/28/2008 10:00:00

Should be turned into...
8/28/2012 14:00:00
8/28/2012 12:00:00
8/28/2012 10:00:00

UPDATE MySpecialTable
SET DateField = {...?};

编辑:无论日期是哪一天(即 8/28/2012、1/1/2012、4/1/2012 等),我都想保留时间和批量更新全日/月/年至特定值。

最佳答案

DECLARE @Target DATETIME;
SET @Target = '20120828';

-- if the date is supposed to be today rather than hard-coded or parameterized:

-- SET @Target = DATEADD(DAY, DATEDIFF(DAY, '19000101', CURRENT_TIMESTAMP), '19000101');

UPDATE dbo.MySpecialTable
SET DateField = DATEADD(DAY, DATEDIFF(DAY, DateField, @Target), DateField);

如果目标日期早于或晚于列中的值,则此方法有效。

此外,如果您只关心时间,您应该考虑使用 TIME data type (SQL 2008+)。这将使您可以轻松地在查询时将任何您想要的日期应用于数据,而无需实际执行任何更新。

关于sql - 将日期时间值更新为相同日期但保留时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12162344/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com