我正在尝试选择日期在2个特定日期之间的表的所有结果,例如:1;;3;
和11/04/2019 10:20:32
...
我尝试过这样的事情:
11/04/2019 12:22:34
此查询不返回任何结果,并且在我看来已得到纠正。我在这里看到的问题是没有采用正确的日期格式。
所以我的主要答案是:如何“转换”该日期以验证它的大小?
我已经尝试过的:
How do I query for all dates greater than a certain date in SQL Server?
这些解决方案均无效。
编辑
使用@Gordon Linoff和其他人说的话,我通过ID进行搜索只是为了查看查询结果返回的是哪种格式,并验证date列是否正在返回此格式:SELECT *
FROM myTable
WHERE myDate >= '11/04/2019 10:20:32'
AND myDate <= '11/04/2019 12:22:34';
(日期时间)< / p>
但是当我看到表的所有结果时,我确认该列显示了以下格式:2019-04-10 10:47:48.000
实际上不知道为什么...
所以我将查询更改为此:
10/04/2019 10:47:48
工作了!谢谢大家的帮助。
答案 0 :(得分:0)
通过将列转换为日期时间convert(datetime, myDate)
SELECT *
FROM #tbl
WHERE convert(datetime, myDate, 103) >= convert(datetime, '11/04/2019 10:20:32', 103 )
AND convert(datetime,myDate , 103) <= convert(datetime, '11/04/2019 12:22:34', 103);
答案 1 :(得分:0)
您始终可以使用运算符BETWEEN
,例如:
SELECT column_name
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
我不确定您是否需要转换为日期时间。