PostgreSQLの文字データ型CHAR、VARCHAR、およびTEXTの概念に精通したので、この記事ではそれらの主な違いを強調することに焦点を当てます。CHARデータ型とは何ですか?
このデータ型は、制限された長さの文字を格納するために使用されます。 PostgreSQLでは、char(n)
character(n)
として表されます。nは文字の長さの制限を表します。Nが指定されていない場合、デフォルトはchar(1)
character(1)
になります。VARCHARデータ型とは何ですか?
このデータ型は、制限された長さの文字を格納するために使用されます。 PostgreSQLではvarchar(n)
として表されます。nは文字の長さの制限を表します。 Nが指定されていない場合、デフォルトではvarchar
になり、長さは無制限です。テキストデータ型とは何ですか?
このデータ型は、長さに制限のない文字を格納するために使用されます。 PostgreSQLではtext
として表されます。 Varchar(nなし)とtextのパフォーマンスは同じです。 次の表は、CHAR、VARCHAR、TEXTの主な違いを示しています:
Comparison | CHAR | VARCHAR | TEXT | |||||||
---|---|---|---|---|---|---|---|---|---|---|
Syntax | CHAR(n) | VARCHAR(n) | TEXT | |||||||
Representation | char(n) or character(n) |
varchar(n) |
text |
|||||||
Length of characters | Limited | Limited | Unlimited | |||||||
Spaces and padding | Gets truncated | トランケートされます | renains inact | |||||||
Nが指定されていない場合 | n=1 | n=infinity | Nの概念が存在しません | |||||||
クエリサイクル | 長さをチェックする余分なサイクル | 長さをチェックする余分なサイクル | 文字長の評価がありません | 文字長の評価がありません | 文字長の評価がありません | 文字長の評価がありません | 文字長の評価がありません | 文字長の評価がありません | 文字長の評価がありません | 文字長の評価がありません例:以下のコマンドを使用して、デモ用の新しいテーブル(たとえば、character_tests)を作成しましょう:次のコマンドを使用して、char_testテーブルに新しい行を挿入しましょう。
INSERT INTO character_tests (x, y, z)VALUES ( 'Geeks', 'This is a test for varchar', 'This is a very long text for the PostgreSQL text column' ); この段階で、X列のデータ型がchar(1)であるため、PostgreSQLはエラーを発生させ、以下に示すように、この列に3文字の文字列を挿入しようとしました。 ERROR: value too long for type character(1)
それでは、それを修正しましょう。以下に示すように、入力された文字数が10より大きいため、y列でも同じエラーが発生します。 ERROR: value too long for type character(10)
も修正しましょう。文字データ型に値を正常に割り当てることができたので、以下のコマンドを実行して確認します。 SELECT * FROM character_tests; 出力: Article Tags :
|