这条SQL语句合法吗?
SELECT firstName, lastName
FROM Presidents
WHERE (endTerm-beginTerm)>4;
我需要找到任期超过 4 年的总统。 我可以在此查询中使用“-”吗? 如果不行,有什么好的方法?
数据类型是endTerm
和beginTerm
最佳答案
在 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/