PostgreSQL8.4.7でlpadのエラー
PostgreSQL8.4.7でlpadのエラー
とあるPHPグループウエア(フリー)を使っているのだが、Linux+Apache+PHP+PostgreSQLで動作している。
環境をCentOS5.5+PostgreSQL8.1.18からCentOS6.0++PostgreSQL8.4.7に移行してみたところ、今まで遭遇しなかったSQLエラーが発生。
# SELECT lpad(date_part(‘hour’::text, schedule_date.scdl_s_time), 2, ‘0’) AS (以下略)
のようなSELECT文で
ERROR: 関数lpad(double precision, integer, unknown)は存在しません
1: SELECT lpad(date_part(‘hour’::text, schedule_date.scdl_s_tim…
^
HINT: 指定名称、指定引数型に合う関数がありません。明示的な型キャストが必要かもしれません
1: SELECT lpad(date_part(‘hour’::text, schedule_date.scdl_s_tim…
^
HINT: 指定名称、指定引数型に合う関数がありません。明示的な型キャストが必要かもしれません
となってしまう。
# SELECT lpad(date_part(‘hour’::text, schedule_date.scdl_s_time)::text, 2, ‘0’) AS (以下略)
と、修正することでエラーは解消されました。