gpt4 book ai didi

sql - 通过只知道日期而不知道时间来从表中选择(ORACLE)

转载 作者:行者123 更新时间:2023-12-03 06:21:06 27 4
gpt4 key购买 nike

我试图通过知道列中的日期包含日期和时间来检索表中的记录。

假设我有一个名为 t1 的表,其中仅包含两列 namedate

存储在日期列中的数据如下 8/3/2010 12:34:20 PM

例如,我想通过此查询检索此记录(注意我没有输入时间):

Select * From t1 Where date="8/3/2010"

这个查询没有给我任何结果!

如何通过只知道日期而不知道时间来检索日期

最佳答案

DATE 是 Oracle 中的保留关键字,因此我使用列名 your_date 来代替。

如果您在 your_date 上有索引,我会使用

WHERE your_date >= TO_DATE('2010-08-03', 'YYYY-MM-DD')
AND your_date < TO_DATE('2010-08-04', 'YYYY-MM-DD')

之间<​​:

WHERE your_date BETWEEN TO_DATE('2010-08-03', 'YYYY-MM-DD')
AND TO_DATE('2010-08-03 23:59:59', 'YYYY-MM-DD HH24:MI:SS')

如果没有索引或者记录不是太多

WHERE TRUNC(your_date) = TO_DATE('2010-08-03', 'YYYY-MM-DD')

应该足够了。 TRUNC不带参数从 DATE 中删除小时、分钟和秒。

<小时/>

如果性能确实很重要,请考虑放置 Function Based Index在该列上:

CREATE INDEX trunc_date_idx ON t1(TRUNC(your_date));

关于sql - 通过只知道日期而不知道时间来从表中选择(ORACLE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2399753/

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