sql - 用于查找超过 30 天的日期记录的 Oracle SQL Where 子句

标签 sql oracle date-arithmetic

我想使用记录超过 30 天的创建日期字段在(Oracle SQL)表中查找记录。使用像 > 这样的运算符查找记录会很好,但是如果有人可以建议使用快速 SQL where 子句语句来查找超过 30 天的记录,那就太好了。请建议 Oracle 语法,因为这是我正在使用的。

最佳答案

用:

SELECT *
  FROM YOUR_TABLE
 WHERE creation_date <= TRUNC(SYSDATE) - 30

SYSDATE 返回日期和时间; TRUNC将日期重置为午夜,因此如果您想要 creation_date,您可以省略它即 30 天前,包括当前时间。

根据您的需要,您还可以考虑使用 ADD_MONTHS :
SELECT *
  FROM YOUR_TABLE
 WHERE creation_date <= ADD_MONTHS(TRUNC(SYSDATE), -1)

关于sql - 用于查找超过 30 天的日期记录的 Oracle SQL Where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3860295/

相关文章:

c# - 在 .NET 1.1 中使用数据集更新 oracle

sql-server - 如何使用sysdate获取oracle中接下来的三个月

MySQL如何填充范围内缺失的日期?

sql - 尝试为自日期 x 以来的记录创建 Rails 模型范围查询,使用 lambda?

Mysql根据一列删除重复记录并保留最长长度的行

sql - 如何改变约束

sql - Oracle SQL - 计算不同用户ID过去的天数

php - 如何计算 "perfect"列宽

c# - SQL Server CE 没有从另一个进程中获取更新?

sql - 如何判断 Rails 中的 SQL 事务是否成功?