- ベストアンサー
Oracle10gのsql分についての質問です。
Oracle10gのsql分についての質問です。 日付型のフィールドに[2006/07/01 01:02:03]と、 日付と時刻のデータが入っています。 SELECT文で日付が[2006/07/01]のみのデータを 抽出したいのですが、LEFT(フィールド名,10)='2006/07/01'と するとエラーになってしまいます。 どうすれば良いのでしょうか? 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 TO_CHAR(フィールド名,'YYYY/MM/DD') でいかがですか?
その他の回答 (2)
- salf
- ベストアンサー率42% (27/64)
回答No.2
文字型とDATE型とを比較しているためエラーになっていると思います。 TO_DATE()関数で文字列をDATE型へ変更してください。 -例- SELECT * FROM テーブル名 WHERE 日付が入った列名=TO_DATE('20060701') ※ORACLEが手元にないので未検証
質問者
補足
ご回答をありがとうございます。 早速、試しましたが、結果は0件。 つまり、出ませんでした。(;_;)
- ipsum11
- ベストアンサー率21% (55/251)
回答No.1
TO_CHARなどを使い、一度文字列にしてからLEFTを使ってみてください。 日付型のままLEFTを使ってもエラーになるはずです。
質問者
補足
ご回答をありがとうございます。 LEFT(TO_CHAR(フィールド名),10)= と、してみましたが、やはりエラーになって しまいます。 ご指導の程、宜しくお願い致します。
お礼
なんども、ありがとうございます。 成功いたしました。 今後とも宜しくお願い致します。