【PostgreSQL】textとvarchar(character varying)の違い
textとvarchar(character varying)の違い
textとvarcharは共に文字型の型ですが、結論から言うと違いはありません。
あえて言うならvarcharは文字数を指定できるので、データ量の見積もりが可能という程度。
ちなみに最大文字数は、varchar、textともには10,485,760バイト(=1GB)です。
※ SJIS、EUC_JP、UNICODEなら全角・半角関わらず1文字=1バイト
また、調べた中には、次のような使い方(考え方)もあるようでした。
『 ある文字数までのものはすべてvarchar(XX)で定義。それを超えるものはすべてtextで定義。』
例えば200文字まではvarcharで定義し、それ以上の文字は(文字数を定義する必要はないとして)
すべてtextとするといった取り決めをする。という方法が紹介されていました。
これは取り決めの場合の例ですが、ご参考まで。
関連記事(文字列操作)
・文字の切り取り(Left、Right、Substring)
・文字を置換する、複数置換する(replace、translate)