【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の時に別の値に置き換える