【发布时间】:2022-01-23 02:10:17
【问题描述】:
我尝试了很多方法,但都找不到。我正在构建一个查询,想要获取小时、分钟和秒之间的数据。
已经尝试过类似的方法:
SELECT * FROM MYTABLENAME TB
WHERE (TB.DATE BETWEEN '25/11/2013 00:00:00' AND '25/11/2013 23:59:59')
【问题讨论】:
-
Well TABLE 是一个保留字,因此您只能通过使用 [TABLE] 来使用名为 Table 的 Table。请不要将保留名称用于表名或列名。哦,您能否添加一些表结构、示例数据并告诉我们实际的问题是什么!
-
get the data between hours, minutes and seconds.是什么意思?正如史蒂夫建议的那样,添加一些示例数据和所需的结果(最好使用db<>fiddle)。另外BETWEEN对于日期范围查询非常危险,请始终使用 >= 范围开始和after 范围结束。类似地,区域性、模棱两可的格式(如 d/m/y)是危险的 - 始终使用安全、明确的格式,如yyyymmdd。 Dating Responsibly 解释了这些以及更多内容。 -
哦,我只是用关键字表来举例。当我尝试仅使用 'dd/mm/yyyy' 构建查询时,我无法获取记录,因为该字段中还有小时、分钟和秒。
-
好的,让我们看看实际的表架构、示例数据和预期结果。列数据类型是
datetime还是varchar?
标签: sql sql-server date