SQL Server 2005,仅存储日期并仅使用日期检查条件
本文关键字:日期 条件 检查 存储 Server 2005 SQL | 更新日期: 2023-09-27 17:54:07
我使用的是SQL Server,只想存储日期部分,如果它存储时间也没有问题,但在检查条件时,我只想考虑日期。例如。NET。
SELECT *
FROM checkins
WHERE checkindate='" + DateTime.Now.toShortDateString() + "'";
使用CONVERT
函数仅获取DateTime
列的日期部分:
SELECT *
FROM checkins
WHERE CONVERT(VARCHAR(10),checkindate, 106) ='" +
DateTime.Now.ToShortDateString() + "'";
不过,为了使日期明确,我不会使用ToShortDateString
,而是使用自定义格式字符串:
DateTime.Now.ToString("d MMM yyyy")
总之:
SELECT *
FROM checkins
WHERE CONVERT(VARCHAR(10),checkindate, 106) ='" +
DateTime.Now.ToString("d MMM yyyy") + "'";
SELECT *
FROM checkins
WHERE DATEADD(DAY, DATEDIFF(DAY, 0, checkindate), 0)
= DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)
SELECT dateadd(dd, datediff(dd,0,getdate()), 0)
将只为您获取日期,同时将其保留为日期时间类型。比较日期时间类型往往比比较字符串更有效。
这种方法可以灵活地忽略日期、月份、上一个月、年份等。请参阅本文了解更多信息。。http://www.sqlservercentral.com/articles/Date+操作/69694/