此SQL语句是否合法?sql语句中的减法
SELECT firstName, lastName
FROM Presidents
WHERE (endTerm-beginTerm)>4;
我需要找到长度超过4年的总统。 我可以在这个查询中使用' - '吗? 如果不是,有什么好方法?
的数据类型是endTerm
和beginTerm
此SQL语句是否合法?sql语句中的减法
SELECT firstName, lastName
FROM Presidents
WHERE (endTerm-beginTerm)>4;
我需要找到长度超过4年的总统。 我可以在这个查询中使用' - '吗? 如果不是,有什么好方法?
的数据类型是endTerm
和beginTerm
比较添加4年到beginTerm,然后比较
SELECT firstName, lastName
FROM Presidents
WHERE endTerm > DATE_ADD(beginTerm, INTERVAL 4 YEAR)
这通常是(包括使用其他RDBMS)更安全因为如何处理期间之间的界限,减去或计算日期差异。
您所查询的是正确的。 :-)但是,如果endTerm和beginTerm是DATETIME值,你可能想将它们与INTERVAL 4 YEARS
是的,只要endterm和beginterm列的类型接受减法。
“beginTerm”和“endTerm”列的数据类型是什么? –
什么数据类型? – gbn
对不起。是的,iits beginTerm和endTerm ill现在编辑它 – Itzik984