この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
とそれらを比較するようなことがありピリオド間の境界がどのように処理されるかに起因して、日付差を減算または計算するよりも効率的です。
あなたのクエリが正しいです。 endTermとbeginTermはDATETIME値であれば:-)しかし、あなたはより安全な、これは一般的に(他のRDBMSを使っ含む)である
SELECT firstName, lastName
FROM Presidents
WHERE endTerm > DATE_ADD(beginTerm, INTERVAL 4 YEAR)
を比較し、beginTerm上に4年間追加INTERVAL 4 YEARS
はい、endtermおよびbeginterm列の型が減算を受け入れる限りです。
'beginTerm'と' endTerm'の列のデータ型は? –
どのようなデータ型ですか? – gbn
申し訳ありません。はい、iits beginTermとendTermは今すぐ編集します – Itzik984