sql - 如何从系统日期中减去年份

标签 sql oracle

在没有硬编码日期的情况下检查某人是否 20 岁或以上的表达式是什么?

在 SQL

 SELECT student_fname 
 FROM students
 WHERE dob<'05-MAR-1995';

我正在考虑使用 SYSDATE但后来我不知道减去 20 年的语法。

最佳答案

WHERE dob < add_months( trunc(sysdate), -12*20 );

假设您想忽略 sysdate 的时间分量,会起作用.

关于sql - 如何从系统日期中减去年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28888848/

相关文章:

SQL Server : loop through every row, 向列添加增量值

python - 无法使用 cx-Oracle 插入 Unicode

sql - 更新表记录 - 每 2 个数字添加 '00'

php - 在 PHP 和 SQL 中查看产品时遇到问题

MySQL优化多连接查询

sql - 在没有匹配项的情况下显示结果 - SQL Server 2008

oracle - UTL_FILE.FOPEN() 过程不接受目录路径?

oracle - 顶点预言机 : How to open a public page using a different session?

oracle - 避免oracle中全局临时表的方法

sql - 使用不同的东西/for xml 路径 ('' )