繁体   English   中英

field < currentdate - 7 格式日期

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM