anw*_*rma 1 sql oracle oracle10g oracle9i date-arithmetic
我有一个DATE列,其中包含日期,但我需要查询它以查找不到30天的记录.
START_DATE
----------
01-AUG-2010
09-AUG-2010
22-AUG-2010
09-SEP-2010
Run Code Online (Sandbox Code Playgroud)
查询:
SELECT START_DATE
WHERE START_DATE < 30;
Run Code Online (Sandbox Code Playgroud)
我知道在ORACLE SQL中查询很简单,但我做错了.
使用:
SELECT t.start_date
FROM YOUR_TABLE t
WHERE t.start_date > SYSDATE - 30
Run Code Online (Sandbox Code Playgroud)
SYSDATE 是Oracle获取当前日期和时间的语法如果您想根据截至午夜的30天评估日期,请使用TRUNC功能:
SELECT t.start_date
FROM YOUR_TABLE t
WHERE t.start_date > TRUNC(SYSDATE) - 30
Run Code Online (Sandbox Code Playgroud)
不要在列上运行TRUNC - 这将使列上的索引无效,从而确保表扫描.
| 归档时间: |
|
| 查看次数: |
22436 次 |
| 最近记录: |