私はそれを通常の方法で行いました。私は別の方法でクエリを書く方法を取得しません。2009年4月1日より前に表示された注文を表示します。2つの異なる方法でクエリを書きます。
SELECT Order#, Shipdate
FROM Orders
WHERE Shipdate < '01-APR-2009';
同じクエリを書き込む別の方法は何でしょうか?
私はそれを通常の方法で行いました。私は別の方法でクエリを書く方法を取得しません。2009年4月1日より前に表示された注文を表示します。2つの異なる方法でクエリを書きます。
SELECT Order#, Shipdate
FROM Orders
WHERE Shipdate < '01-APR-2009';
同じクエリを書き込む別の方法は何でしょうか?
SHIPDATEと仮定するとdate
ないstring
、UTSAVは(不平等の右辺はDATE
になるように、必要に応じて補正して、クエリである)を書いたおそらく何
SELECT Order#, Shipdate FROM Orders
WHERE Shipdate < to_date('01-APR-2009','DD-MON-YYYY');
、この変形例であり、 :文字列は、単一引用符で囲まれている正確な形式yyyy-mm-dd
、無偏差PEでなければならない日付リテラル構文(DATE <string>
を用い
SELECT Order#, Shipdate FROM Orders
WHERE Shipdate < date '2009-04-01';
返された;ダッシュはダッシュでなければならず、/
または.
などではありません。
あなたは論理的に同じクエリに対して、否定を使用することができます。
SELECT Order#, Shipdate
FROM Orders
WHERE NOT Shipdate >= DATE '2009-04-01';
それとも、別途日付要素になります:そういったことは上のインデックスを妨げる
SELECT Order#, Shipdate
FROM Orders
WHERE EXTRACT(year FROM Shipdate) < 2009
OR (EXTRACT(year FROM Shipdate) = 2009
AND EXTRACT(month FROM Shipdate) < 4);
ものの日付列が使用されています。
通常の方法は、あなたがしたように文字列ではなく日付と(回答で示されるように)比較することです。暗黙の変換の有無にかかわらず、どのように異なる必要がありますか?異なる日付形式ですか?または、他の何か? (そして注文が*置かれたときに質問があった場合は出荷日を見たいと思っていますか?) –