PostgreSQL での曜日の”数値化"
2004年6月11日 コンピュータPostgreSQL で曜日を表示しようとしたが、
日本語で曜日を表示できない。
仕方が無いので、
タイムスタンプの日付を数値化したものをキーにして
DB から引っ張ってくるようにしていた。
さて、PostgreSQL で曜日を数値化する場合、
普通は Extract とそのエイリアスである date_part を使うだろう。
その場合、値は 0〜6 (0=日曜日)となる。
ところが、似たようなので書式設定関数というのがあり、
これを使うと、結果は書式文字列に埋め込まれた、
文字列なのだが、1〜7 (1=日曜日) となる。
ちょっと歪(いびつ)だから注意しないといけないな〜。
・・・ってのは実は関係ないのだが、
数値を日本語の曜日に変換するテーブル、
テスト用DB では 0〜6 でキーを設定していたのに、
本番環境でうっかり 1〜7 でキーを設定してしまい、
永いこと曜日がずれて表示されていたことが判明した。
あああ・・・・まぬけ。
でも、もともとは日本語の曜日を表示できるようになっていない
PostgreSQL が悪いんやぁ。(責任転嫁)
おれにこんな DB を使わすなぁ〜(いいがかり)
日本語で曜日を表示できない。
仕方が無いので、
タイムスタンプの日付を数値化したものをキーにして
DB から引っ張ってくるようにしていた。
さて、PostgreSQL で曜日を数値化する場合、
普通は Extract とそのエイリアスである date_part を使うだろう。
その場合、値は 0〜6 (0=日曜日)となる。
ところが、似たようなので書式設定関数というのがあり、
これを使うと、結果は書式文字列に埋め込まれた、
文字列なのだが、1〜7 (1=日曜日) となる。
ちょっと歪(いびつ)だから注意しないといけないな〜。
・・・ってのは実は関係ないのだが、
数値を日本語の曜日に変換するテーブル、
テスト用DB では 0〜6 でキーを設定していたのに、
本番環境でうっかり 1〜7 でキーを設定してしまい、
永いこと曜日がずれて表示されていたことが判明した。
あああ・・・・まぬけ。
でも、もともとは日本語の曜日を表示できるようになっていない
PostgreSQL が悪いんやぁ。(責任転嫁)
おれにこんな DB を使わすなぁ〜(いいがかり)
コメント