![](/img/trans.png)
[英]SQL Server ISDATE before conversion returns error “Conversion failed when converting date and/or time from character string”
[英]Conversion failed when converting date from character string in sql server
Declare @count varchar(max)
Select @count=configurable from configurableitems where project='auto'
Delete from detaillog where createdtime<convert(date,getdate()-@count)
我收到错误:
从字符串转换日期和/或时间时转换失败
正如我在评论中提到的,以上没有多大意义。 从datetime
中减去最多 20 亿个字符的varchar
值是没有意义的。 像@Count
这样的名称也暗示了一个数值。 也许@count
应该是一个int
?
接下来,在日期上加减并没有多大意义。 例如2020-12-06T13:05:00:123 - 3
是什么? 减3什么? 尽管此语法适用于较旧的(small)datetime
时间数据类型,但不适用于新的日期和时间数据类型。 如果要从日期和时间值中添加/减去间隔,请使用DATEADD
。
也许你想要的是这样的:
DECLARE @count int;
SELECT @count = configurable
FROM configurableitems
WHERE project = 'auto';
DELETE FROM detaillog
WHERE createdtime < CONVERT(date, DATEADD(DAY,-@Count,GETDATE());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.