PostgresSQL

PostgreSQLのエスケープ

PostgreSQLのエスケープをメモ。 $str = pg_escape_string($str);

now() の返す時刻について

PostgreSQLの now() はトランザクション内で同じ値を返す仕様。 なので、処理時間が長いバッチ処理で now() は常に同じ時刻を返す。実行時刻を記録するには 「current_timestamp」を指定する。MySQLは実行時刻を返すから同じように使うとハマるかもね・・・。

ERROR: SELECT DISTINCTではORDER BYの式はSELECTリスト内になければなりません

エラーが出た。これは order by で指定している列が select distinct で使われていない場合に発生する。 今回は以下のクエリでエラーになった。select distinct to_char(log_date, 'YYYY-MM') from point_log where id = 15544 order by log_date desc limit…

日付のフォーマットを変える

to_charを使う。select to_char(modified_date, 'YYYY-MM-DD') from order_log;

ifnull

ifnullを試してみたが、そんなのはない。COALESCE( 列名 , 0 )これでnullを0に置換できる。