查询两个日期之间的特定格式的结果

时间:2019-04-11 15:29:49

标签: sql sql-server datetime

我正在尝试选择日期在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?

Simple DateTime sql query

这些解决方案均无效。

编辑

使用@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

工作了!谢谢大家的帮助。

2 个答案:

答案 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;

我不确定您是否需要转换为日期时间。