プロが教えるわが家の防犯対策術!

Oracle10gのsql分についての質問です。

日付型のフィールドに[2006/07/01 01:02:03]と、
日付と時刻のデータが入っています。
SELECT文で日付が[2006/07/01]のみのデータを
抽出したいのですが、LEFT(フィールド名,10)='2006/07/01'と
するとエラーになってしまいます。

どうすれば良いのでしょうか?
宜しくお願い致します。

A 回答 (3件)

#1です。



TO_CHAR(フィールド名,'YYYY/MM/DD')

でいかがですか?
    • good
    • 0
この回答へのお礼

なんども、ありがとうございます。
成功いたしました。
今後とも宜しくお願い致します。

お礼日時:2006/07/05 17:20

文字型とDATE型とを比較しているためエラーになっていると思います。


TO_DATE()関数で文字列をDATE型へ変更してください。

-例-
SELECT * FROM テーブル名 WHERE 日付が入った列名=TO_DATE('20060701')

※ORACLEが手元にないので未検証

この回答への補足

ご回答をありがとうございます。
早速、試しましたが、結果は0件。
つまり、出ませんでした。(;_;)

補足日時:2006/07/05 16:56
    • good
    • 0

TO_CHARなどを使い、一度文字列にしてからLEFTを使ってみてください。


日付型のままLEFTを使ってもエラーになるはずです。

この回答への補足

ご回答をありがとうございます。
LEFT(TO_CHAR(フィールド名),10)=
と、してみましたが、やはりエラーになって
しまいます。
ご指導の程、宜しくお願い致します。

補足日時:2006/07/05 16:57
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!