- ベストアンサー
SQL:TIMESTAMPの期間検索を指定するには?
教えてください。 SQL文で日付期間の検索をしたいです。 フィールド名:tran_dataの値が、 2004/09/01 ~ 2004/09/03 のデータを検索したい。 データはTIMESTAMPで取得されています。 テーブル名:dat_history 【失敗例】 select * from web.dat_history where tran_date = '2004-08-18' 【エラーメッセージ】 日付値のストリング表記が間違っています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
DBMSはなんでしょう? とりあえずOracleの場合。 select * from web.dat_history where to_char(tran_date, 'yyyy/mm/dd') between '2004/09/01' and '2004/09/03'; ですね。
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
回答No.2
DB2でも「to_char」なんですが・・・。 オンラインマニュアルのURLはこちら。 http://www.db2.jp/db2manual/ja_JP/index.htm 左フレームの「索引」で[T]を探してください。 下のURLの「日付形式の変更」と「カスタム日付/時刻形式の設定」も参照ください。 http://www-6.ibm.com/jp/software/data/developer/library/techdoc/daytime.html
質問者
お礼
ありがとうございました。 今後は、教えていただいたURLで色々と勉強したいと思います。 TIMESTAMPの形式 yyyyy-mm-dd hh.mm.ss.zzzzzz で実施できました。
補足
速攻で回答ありがとうございます。 DBMS は、IBM DB2を使用しております。 教えていただいたSQLはエラーになってしまいました。 "TO_CHAR" 関数が見つかりません とのエラーが表示されました。 どうすればよろしいでしょう?