- 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')
ちゃんと、型も意識しながらプログラム組まないとダメだね。。。
勉強になりました。
- Newer: 【Windows】話題のGodModeを試してみた
- Older: MT5を入れてみた
