そとでよ - モトコ・モリのインドア生活

元ひきこもりの気ままな生活。

PostgreSQLでテンプレートパターンを無効にする方法。

PostgreSQLで単純採番のid列を1→G0001のように変換して取り出したかったときに躓いたためメモ。

先頭のFMは前後に意図しない空白が入らないようにするテンプレート指定である。

実行SQL

SELECT to_char(id, 'FMG0000' )
FROM table

結果
0001

取り出せた値は0001でGが付与されていなかった。調べてみるとGもまたテンプレートパターンの指定文字列であるためらしい。

テンプレートパターンをテンプレートとして認識させないようにするにはダブルクォートで括れば良いとのこと。

『これからはじめるPostgreSQL入門』p.135より

これからはじめる PostgreSQL入門

これからはじめる PostgreSQL入門

  • 作者:高塚 遙,桑村 潤
  • 出版社/メーカー: 技術評論社
  • 発売日: 2018/07/26
  • メディア: 大型本

実行SQL

select to_char(id, 'FM"G"0000' )
from table

結果
G0001

ググり方が下手なのか公式ドキュメントを彷徨い、30分ほど詰まってましたが手持ちの書籍に答えが載ってて助かりました。期待通りの結果を得られて満足です。