ぷ~ろぐぷ~ろぐ身辺雑記、アニメ・マンガ、Jリーグ(特に新潟)のこととか。2015列の値を使って日時に「+n日」するテーブルtblにtimestamp型の列dtと文字列型の列nがある。nは文字列型だけど入ってる値は"1"とか"12"のような数字のみからなる文字列。nの値を使って「dt+n日」という計算をしたい。最初、以下のようにしたが構文エラーになった。tbl次のようにしたら欲しい結果が得られた。tblもしnが整数型ならこうかな。既存のWEBアプリケーションに対して国際化対応というか現地時間対応みたいなことをする可能性が浮上してきた。型(以下、TZありと記述)にキャストしたらどうなるか、やってみたメモ。キャストの書き方は、標準SQLで書くと長いのでPostgreSQLの方言で記述。行)どうやらTZなしをTZありにキャストするとDBに設定されたタイムゾーンの時間となるらしい。15:00-0700(PDT)という風に変換される。#上に書いた3つの時間はすべて同じ時間。表現の仕方はタイムゾーンの数だけある。WEBアプリケーションの現地時間対応をもしするとしたら、テーブルのTZなしのカラムをTZありに変更し、合わせてコードも修正するのがまともなやり方なんだろう。そんな工数は取れないだろうから、SQL文のいろんなところにキャストを入れる「なんちゃって国際化」になりそうな気がする。2014PL/pgSQLPL/pgSQLはPostgreSQLで使える手続き型言語である。OracleにおけるPL/SQLに当たる。PL/pgSQLはPL/SQLを参考に実装したらしい。PL/pgSQLの構造は下記のようなブロック構造になっている。