嘿,我不知道我问了几个和我使用相同程序的朋友,但他们不能帮我解决这个问题。
我试着在hp proliant d380 Gen6上运行我的服务器,我得到了iLo(idk,如果这会导致问题或任何事情(
它的副本在Gen2上工作fin没有iLo所以不能说太多无论如何:
select dbo.ents.containerId
From dbo.Ents
Where LastActive > DATEADD(d, -100000, GETDATE ());
我的错误:
SQLERROR:517 22007[Microsoft][SQL Server Native Client 11.0][SQL服务器]向"datetime"列添加值导致溢出
不确定原因我测试了重新安装程序,甚至是它的其他版本,如果我对计算机上的日期/时间做了其他事情,我也重新安装了Ws2016(我的想法(
所以现在我在这里寻求帮助。我在这里看到了一些话题但是除了添加数据库(编辑数据库文件中的基本内容(,当我添加SQL文件或编辑数据库中的某些内容时运行查询之外,我对这个程序了解不多
DATEADD(d, -100000, GETDATE ())
键入";d";而不是";天";?哪个更可读?懒惰会导致不良习惯和难以阅读/理解的代码。
要修复这个特定的错误(但可能会添加另一个小问题(,可以使用sysdatetime((:
with cte (LastActive) as (select cast('20000102' as datetime) )
select * from cte
where LastActive > DATEADD(day, -100000, sysdatetime());
select DATEADD(day, -100000, sysdatetime());
Sysdatetime((返回datetime2,它比datetime更准确,并且具有更大的域(从0001-01-01开始(。您的datetime列将隐式地";上转换的";到datetime2,因为比较的数据类型优先级。我将让您来弄清楚当您比较这两种不同的数据类型时会发生什么,以及额外精度的影响。这可能与你的处境无关,但这是需要承认的。