gpt4 book ai didi

sql - 通过增量删除列冗余

转载 作者:行者123 更新时间:2023-12-03 17:59:35 25 4
gpt4 key购买 nike

我有下表:



如您所见,我复制了日期和时间值,例如2012-01-01 09:29:00.000和2012-01-01 09:29:00.008。

我需要您的帮助,通过将毫秒数添加到重复的小时中来消除冗余,并获得以下结果:



所以我创建了一个表TableSource,尝试插入新的输出值而没有重复,但是我没有成功。

我认为以下查询可以解决问题,但仅适用于My-sql:

INSERT INTO TableDestination
SELECT * FROM TableSource
ON DUPLICATE KEY
UPDATE NeededDateRow = DATEADD(millisecond,1 , NeededDateRow)

最佳答案

您可以使用此:

    DECLARE @table table (id int, dt datetime)
DECLARE @table2 table (id int, dt datetime)
INSERT INTO @table
SELECT 1, '2012/01/01'
UNION
SELECT 2, '2012/01/01'
UNION
SELECT 3, '2012/01/01'
UNION
SELECT 1, '2012/01/02'

SELECT * , DATEADD(millisecond, 10 * (ROW_NUMBER() OVER (PARTITION BY dt ORDER BY dt) - 1), dt) As NewDate
FROM @table

INSERT INTO @table2
SELECT ID, DATEADD(millisecond, 10 * (ROW_NUMBER() OVER (PARTITION BY dt ORDER BY dt) - 1) , dt) FROM @table

SELECT * from @table2

关于sql - 通过增量删除列冗余,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11671579/

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