Home > > 【postgresql】posgesql8.2→8.4 to_date関数でエラー

【postgresql】posgesql8.2→8.4 to_date関数でエラー

【postgresql】posgesql8.2→8.4 to_date関数でエラー

  • Posted by: Keisuke
  • 2010年1月 8日 14:37
案件で、posgresqlをバージョンアップしたら、to_date関数でエラーが出た。

to_date(now(),'YYYYMMDD')

これが、8.2ではOKなのに、8.4だと、下記のエラーが出る。
function to_date(timestamp without time zone, unknown)

なんだこれーって調べてみると、to_date関数ってのは普通

to_date(text.text)

つまり、文字列を日付に変換するモノだから、第一引数は文字列じゃなくちゃいけない。
8.2までは、型制限とか厳しくなかったけど、8.3からちょっと厳しくなったみたい。

なので、下記のように、now()を無理やり文字列にすることで8.4でも動かすことができる。

to_date(now()::text,'YYYYMMDD')


ちゃんと、型も意識しながらプログラム組まないとダメだね。。。
勉強になりました。

Comments:0

Comment Form

画像の中に見える文字を入力してください。

Trackbacks:0

TrackBack URL for this entry
http://2-laps.com/mt/mt-tb.cgi/206
Listed below are links to weblogs that reference
【postgresql】posgesql8.2→8.4 to_date関数でエラー from It's a Smile World

Home > > 【postgresql】posgesql8.2→8.4 to_date関数でエラー

Iretのなかのひと
Links
あわせて読みたい
あわせて読みたいブログパーツ
Search
Links02
Feeds

Return to page top