[英]field < currentdate - 7 format date
我的日期时间字段是日期格式 M/dd/yyyy。 SQL Server 日期的日期格式为 yyyy-mm-dd。 我需要获取当前日期 -7 天并格式化输出
例子。
SELECT * FROM [Table]
WHERE Time Generated >= current date - 7 days
当前日期的输出 - 7 应为 M/dd/yyyy
SELECT FORMAT(Getdate(), 'MM dd, yyyy')
DECLARE @date varchar(30) = FORMAT(getdate(), 'M/dd/yyyy');
SELECT Computer, AppFileDisplayName FROM DHAppReliability
WHERE HasCrashesDaily = 'TRUE'
AND TimeGenerated <= DATEADD(DAY, -7, @date)
ORDER BY Computer
消息 241,级别 16,状态 1,第 2 行 从字符串转换日期和/或时间时转换失败。
修复您的数据! 不要将日期存储为字符串。
在任何情况下,您都需要使用内置日期/时间功能进行比较。 那将是:
SELECT Computer, AppFileDisplayName FROM DHAppReliability
WHERE HasCrashesDaily = 'TRUE' AND
CONVERT(date, TimeGenerated, 101) <= DATEADD(DAY, -7, @date)
ORDER BY Computer
我不是 100% 确定格式101
是正确的格式,因为您没有提供示例数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.