• ベストアンサー

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

Oracle10gのsql分についての質問です。 日付型のフィールドに[2006/07/01 01:02:03]と、 日付と時刻のデータが入っています。 SELECT文で日付が[2006/07/01]のみのデータを 抽出したいのですが、LEFT(フィールド名,10)='2006/07/01'と するとエラーになってしまいます。 どうすれば良いのでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ipsum11
  • ベストアンサー率21% (55/251)
回答No.3

#1です。 TO_CHAR(フィールド名,'YYYY/MM/DD') でいかがですか?

m-toshi
質問者

お礼

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

その他の回答 (2)

  • salf
  • ベストアンサー率42% (27/64)
回答No.2

文字型とDATE型とを比較しているためエラーになっていると思います。 TO_DATE()関数で文字列をDATE型へ変更してください。 -例- SELECT * FROM テーブル名 WHERE 日付が入った列名=TO_DATE('20060701') ※ORACLEが手元にないので未検証

m-toshi
質問者

補足

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

  • ipsum11
  • ベストアンサー率21% (55/251)
回答No.1

TO_CHARなどを使い、一度文字列にしてからLEFTを使ってみてください。 日付型のままLEFTを使ってもエラーになるはずです。

m-toshi
質問者

補足

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

関連するQ&A