【发布时间】:2021-12-06 21:07:03
【问题描述】:
Declare @count varchar(max)
Select @count=configurable from configurableitems where project='auto'
Delete from detaillog where createdtime<convert(date,getdate()-@count)
我收到错误:
从字符转换日期和/或时间时转换失败 字符串
【问题讨论】:
-
以上真的没有任何意义。您将
@Count声明为varchar(MAX),并尝试从GETDATE()中减去所述值。日期和字符串是完全不同的值。从datetime值中减去最长 20 亿 个字符的varchar是没有意义的。 -
之前我们使用如下查询:Delete from detaillog where createdtime
-
该查询在您的问题中,但是,这并不能解释为什么您要尝试从
datetime中获取高达 2G 字节的字符串...你是什么真的 i> 试图在这里实现。日期不是字符串,它们存储为二进制值。从它们中添加和减去是没有意义的。相反,如果您想从日期和时间值中添加或减去间隔,请使用DATEADD。
标签: sql sql-server