mysql - sql语句中的减法

标签 mysql sql

这条SQL语句合法吗?

     SELECT  firstName, lastName
     FROM  Presidents 
     WHERE  (endTerm-beginTerm)>4;

我需要找到任期超过 4 年的总统。 我可以在此查询中使用“-”吗? 如果不行,有什么好的方法?

数据类型是endTermbeginTerm

最佳答案

在 beginTerm 上加上 4 年,然后比较

SELECT  firstName, lastName
     FROM  Presidents 
     WHERE  endTerm > DATE_ADD(beginTerm, INTERVAL 4 YEAR)

由于期间边界的处理方式,这通常(包括使用其他 RDBMS)比减去或计算日期差异更安全。

关于mysql - sql语句中的减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8288544/

相关文章:

sql - POSTGRES 最小值/最小值

mysql - 自加入和更新

mysql - 单个查询从多个表收集数据

java - 将日期插入数据库而不使用准备好的语句

mysql - 在 MySQL 中通过 join 获取数据

mysql - mysql如何更新多条记录

php - 我的类(class)无法连接到数据库?

mysql - Zend Db Sql 在哪里

MySQL:如何加入第一行

sql - 将对象插入 SQL Server 中的 JSON 数组