使用Between之间的SQL查询日期搜索
发布时间:2020-05-25 11:41:53 所属栏目:MsSql 来源:互联网
导读:我刚刚运行此查询 Select * from ProjectData where logtime between 2012-09-25 12:00:00.000 and 2012-09-25 12:59:59.999 order by LogTime 为了找到12小时的所有记录,我们每秒都有记录,所以我期待3600记录,但令我惊讶的是我得到了3601记录,最后的记录时间
|
我刚刚运行此查询 Select * from ProjectData where logtime between '2012-09-25 12:00:00.000' and '2012-09-25 12:59:59.999' order by LogTime 为了找到12小时的所有记录,我们每秒都有记录,所以我期待3600记录,但令我惊讶的是我得到了3601记录,最后的记录时间是 2012-09-25 13:00:00.000 知道为什么选择此记录?即使Between包含给定值,该值也高于条件.我正在使用SQL Server 2012 Express版. 解决方法尝试将DATETIME2数据类型用于logtime列 –查询: DECLARE @temp TABLE (logtime DATETIME2)
INSERT INTO @temp (logtime)
VALUES
('20120925 12:00:00.000'),('20120925 12:59:59.999'),('20120925 13:00:00.000')
SELECT *
FROM @temp
WHERE logtime BETWEEN '2012-09-25 12:00:00.000' AND '2012-09-25 12:59:59.999'
ORDER BY logtime
输出: logtime --------------------------- 2012-09-25 12:00:00.0000000 2012-09-25 12:59:59.9990000 DATETIME与DATETIME2: SELECT name,[precision]
FROM sys.types
WHERE name IN ('datetime','datetime2')
输出: name precision ----------- --------- datetime2 27 datetime 23 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
