此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