gpt4 book ai didi

sql - 根据sql中的日期过滤数据

转载 作者:行者123 更新时间:2023-12-03 02:03:29 24 4
gpt4 key购买 nike

我正在尝试执行以下 SQL 查询并根据日期过滤掉数据。

我需要显示一个过滤掉数据的表格,以便仅显示上述 start_date 和 end_date 之间的那些行

这是我一直在尝试的查询

SELECT DISTINCT T1.column1, T1.column2, T2.START_DATE, T2.END_DATE
FROM Table1 T1, Table2 T2
WHERE (T1.column1= T2.column2) AND
(T2.START_DATE >= '15/01/2013 10:58:58' AND
T2.END_DATE <= '18/01/2013 10:58:58') ORDER BY T2.START_DATE DESC

我也得到了 2012 年值的结果。请帮帮我

谢谢

最佳答案

由于您没有提及任何错误,因此如果 START_DATEEND_DATEDATETIME 数据类型,则您的查询没有任何问题。如果您没有得到正确的记录,请检查数据。

但是,您的日期格式可能会在不同的服务器上给您带来麻烦。您可以遵循一些良好的做法来避免此类问题。

-Whenever date is used as a string, try to use it in ISO or ISO8601 format (ie 'yyyymmdd' or 'yyyy-mm-ddThh:mi:ss.mmm')

-Also avoid joining tables with WHERE Table1, Table2 which is old and obsolete. JOINs are much better performed, neat and tidy.

您可以按如下方式更改查询;

SELECT DISTINCT T1.column1, T1.column2, T2.START_DATE, T2.END_DATE
FROM Table1 T1 JOIN Table2 T2 ON T1.column1 = T2.column2
WHERE (T2.START_DATE >= '20130115 10:58:58' AND
T2.END_DATE <= '20130118 10:58:58')
ORDER BY T2.START_DATE DESC

关于sql - 根据sql中的日期过滤数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14397569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com