【PostgreSQL】textとvarchar(character varying)の違い

PostgreSQLその他

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とするといった取り決めをする。という方法が紹介されていました。

これは取り決めの場合の例ですが、ご参考まで。

 

 

関連記事(文字列操作)

・文字列の結合、nullの結合

・改行コードで結合、置換する

・文字数のカウント(length)、バイト数を取得する

・文字の切り取り(Left、Right、Substring)

・検索文字位置の取得(strpos)

・全角半角スペースを除去する(trim)

・upper(小文字を大文字に変換する)

・大文字小文字を変換する、区別せず比較する

・文字を置換する、複数置換する(replace、translate)

・前0埋め、後ろ0埋め(lpad、rpad)

・Nullの時に別の値に置き換える