Sql 字段<;currentdate-7格式日期
“我的日期时间”字段的日期格式为M/dd/yyyy。 SQL Server日期的格式为yyyy-mm-dd。 我需要得到当前日期-7天和格式的输出 例如Sql 字段<;currentdate-7格式日期,sql,sql-server,Sql,Sql Server,“我的日期时间”字段的日期格式为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(get
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
选择格式(Getdate(),'MM dd,yyyy')
声明@date varchar(30)=格式(getdate(),'M/dd/yyyy');
从DHAppReliability中选择计算机、AppFileDisplayName
其中HasCrashesDaily='TRUE'
和TimeGenerated修复您的数据!不要将日期存储为字符串
在任何情况下,都需要使用内置的日期/时间功能进行比较。这将是:
SELECT Computer, AppFileDisplayName FROM DHAppReliability
WHERE HasCrashesDaily = 'TRUE' AND
CONVERT(date, TimeGenerated, 101) <= DATEADD(DAY, -7, @date)
ORDER BY Computer
从DHAppReliability中选择计算机、AppFileDisplayName
其中HasCrashesDaily='TRUE'和
转换(date,TimeGenerated,101)日期没有格式,它们是二进制值。格式仅在将字符串解析为日期或将日期格式化为字符串以供显示时适用。SSMS将始终使用ISO8601格式,因为它是唯一明确的格式。这并不意味着日期有特定的格式字段“生成”的数据类型是什么?当您说您的日期格式是M/dd/yyyy时,您的意思是以该格式保存在字符串中,还是SSMS会这样显示?