プロが教える店舗&オフィスのセキュリティ対策術

教えてください。

SQL文で日付期間の検索をしたいです。

フィールド名:tran_dataの値が、
2004/09/01 ~ 2004/09/03 のデータを検索したい。

データはTIMESTAMPで取得されています。
テーブル名:dat_history

【失敗例】
select * from web.dat_history where tran_date = '2004-08-18'

【エラーメッセージ】
日付値のストリング表記が間違っています。

A 回答 (2件)

DBMSはなんでしょう?



とりあえずOracleの場合。

select * from web.dat_history where to_char(tran_date, 'yyyy/mm/dd') between '2004/09/01' and '2004/09/03';

ですね。

この回答への補足

速攻で回答ありがとうございます。

DBMS は、IBM DB2を使用しております。
教えていただいたSQLはエラーになってしまいました。
"TO_CHAR" 関数が見つかりません とのエラーが表示されました。

どうすればよろしいでしょう?

補足日時:2004/09/03 20:28
    • good
    • 0

DB2でも「to_char」なんですが・・・。



オンラインマニュアルのURLはこちら。
http://www.db2.jp/db2manual/ja_JP/index.htm
左フレームの「索引」で[T]を探してください。

下のURLの「日付形式の変更」と「カスタム日付/時刻形式の設定」も参照ください。
http://www-6.ibm.com/jp/software/data/developer/ …
    • good
    • 1
この回答へのお礼

ありがとうございました。
今後は、教えていただいたURLで色々と勉強したいと思います。

TIMESTAMPの形式
yyyyy-mm-dd hh.mm.ss.zzzzzz で実施できました。

お礼日時:2004/09/07 11:23

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