【发布时间】:2016-01-16 13:13:06
【问题描述】:
虽然我有这些日期的记录,但为什么当我传递相同的日期(即从和到日期相同)时我的存储过程不起作用。为什么 ?
SELECT
Audits.pk_Audits_AuditID,
Audits.fk_WebUsers_Audits_UserID,
Web_Users.Name as UserName,
Districts.pk_Districts_DistrictID,
Districts.DistrictName,
Orgs.pk_Orgs_OrgID, Orgs.OrgName,
Audits.AuditsUserActivity,
Audits.AuditsUserIPAddress,
Audits.AuditsUserSystemMacAddress,
CONVERT(varchar, Audits.AuditSystemEntryDateTime, 113) AS AuditSystemEntryDateTime
FROM
Audits
INNER JOIN
Web_Users ON Web_Users.UserID= Audits.fk_WebUsers_Audits_UserID
INNER JOIN
Orgs ON Orgs.pk_Orgs_OrgID= Web_Users.fk_Orgs_OrgID_WebUsers
INNER JOIN
Districts ON Districts.pk_Districts_DistrictID= Orgs.fk_Districts_Orgs_DistrictID
WHERE
CONVERT(varchar, DateAdd(DAY, -1, Audits.AuditSystemEntryDateTime)) >= @FromDate
AND CONVERT(varchar, Audits.AuditSystemEntryDateTime) <= @ToDate
【问题讨论】:
-
当你想比较日期时删除
CONVERT(varchar.. -
请提供
@FromDate和@ToDate值的示例 -
Bad habits to kick : declaring VARCHAR without (length) - 您应该始终为您使用的任何
varchar变量和参数提供长度 -
嗯,你在比较
AuditSystemEntryDateTime- 1 天大于或等于它应该小于等于的同一天......那应该如何匹配?
标签: sql sql-server tsql sql-server-2012