• ベストアンサー

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' 【エラーメッセージ】 日付値のストリング表記が間違っています。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

DBMSはなんでしょう? とりあえずOracleの場合。 select * from web.dat_history where to_char(tran_date, 'yyyy/mm/dd') between '2004/09/01' and '2004/09/03'; ですね。

smi
質問者

補足

速攻で回答ありがとうございます。 DBMS は、IBM DB2を使用しております。 教えていただいたSQLはエラーになってしまいました。 "TO_CHAR" 関数が見つかりません とのエラーが表示されました。 どうすればよろしいでしょう?

その他の回答 (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

smi
質問者

お礼

ありがとうございました。 今後は、教えていただいたURLで色々と勉強したいと思います。 TIMESTAMPの形式 yyyyy-mm-dd hh.mm.ss.zzzzzz で実施できました。

関連するQ&A