【发布时间】:2018-07-23 00:57:38
【问题描述】:
我在选择两个日期时遇到问题。我试图从 SQL Server 数据库中选择数据,但结果不是我想要的。有人可以帮我吗?
我有 4 条来自数据库的记录,所有记录都格式化为 GeneralDate
order_date
---------------------------
2018-07-17 07:10:40.000 AM
2018-07-17 07:10:40.000 AM
2018-07-16 07:59:23.000 AM
2018-07-16 07:59:23.000 AM
这是代码
SELECT order_date
FROM ORDER_RECORDS
WHERE order_date >= '2018-07-16 08:59:23.000 AM'
AND order_date < '2018-07-16 08:59:23.000 AM'
示例日期来自DateTimePicker1.Value。
显示的查询返回零个结果,因为只有日期为真而时间为假。如您所见,数据库的记录从上午 07:59:23.000 开始,获取数据的查询开始于上午 08:59:23.000
另一个示例查询
SELECT order_date
FROM ORDER_RECORDS
WHERE order_date >= '2018-07-16 03:59:23.000 AM'
AND order_date < '2018-07-16 08:59:23.000 AM'
返回两行作为结果,因为查询从上午 03:59:23.000 开始
这是结果
2018-07-16 07:59:23.000 AM
2018-07-16 07:59:23.000 AM
我想要的是在两个日期之间获取数据并忽略时间。
【问题讨论】:
-
你在这里使用什么应用程序语言?
-
视觉基础 2017
-
请针对您的样本数据提供一个示例查询,然后显示预期的输出。您的问题有多种解释。
-
你为什么是not using a parameterized command string?让服务器决定输入是否需要转义或引用;提供实际的
DateTime参数值,而不是看起来像日期的字符串。 -
最安全最简单的是
col >= '20180716' AND col < '20180717'
标签: sql sql-server vb.net