gpt4 book ai didi

sql - 无法构造数据类型日期时间,某些参数的值无效

转载 作者:行者123 更新时间:2023-12-02 09:35:09 24 4
gpt4 key购买 nike

我在以下代码中遇到此错误;消息 289,级别 16,状态 3,第 2 行无法构造数据类型 datetime,某些参数的值无效。

但我认为值(value)观是有效的。

MERGE INTO tblAveraj WITH (HOLDLOCK) 
USING tblDegerSon ON
(tblAveraj.AdresID = tblDegerSon.AdresID
AND tblAveraj.Baslangic = DATETIMEFROMPARTS(2014, 11, 11, 11, 0, 0, 0))
WHEN MATCHED
THEN
UPDATE
SET tblAveraj.Toplam = tblAveraj.Toplam + tblDegerSon.Deger,
tblAveraj.Sure = tblAveraj.Sure + 1
WHEN NOT MATCHED
THEN
INSERT (AdresID, Baslangic, Bitis, Toplam, Sure)
VALUES (
tblDegerSon.AdresID,
DATETIMEFROMPARTS(DATEPART(YEAR, GETDATE()),
DATEPART(MONTH, GETDATE()),
DATEPART(DAY, GETDATE()),
DATEPART(HOUR, GETDATE()), 0, 0, 0),
DATETIMEFROMPARTS(DATEPART(YEAR, GETDATE()),
DATEPART(MONTH, GETDATE()),
DATEPART(DAY, GETDATE()),
DATEPART(HOUR, GETDATE()) + 1, 0, 0, 0),
Deger, 1);

最佳答案

我能看到的唯一原因是 Bitis 列的 INSERT 部分中的最后一个 DATETIMEFROMPARTS(如果我没看错的话):

DATEPART(HOUR, GETDATE()) + 1

当小时 + 1 超过 24 时溢出。

正在做:

SELECT DATETIMEFROMPARTS(DATEPART(YEAR, GETDATE()), DATEPART(MONTH, GETDATE()), DATEPART(DAY, GETDATE()), DATEPART(HOUR, GETDATE()) + 2, 0, 0, 0)

现在(我的本地时间是 2014-11-23 22:53:49.383)给我同样的错误。

快速修复是做一个 case when DATEPART(HOUR, GETDATE())+1 > 24 then 0 end 或类似的东西。

关于sql - 无法构造数据类型日期时间,某些参数的值无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27094715/

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