GeeksforGeeks

PostgreSQL は VARCHAR という文字データ型をサポートします。 このデータ型は、長さが制限された文字を格納するために使用されます。 PostgreSQLではvarchar(n)と表現され、nは文字の長さの制限を表します。 nが指定されない場合、デフォルトは無制限の長さを持つvarchar となります。 varchar(n)で定義された列にそれ以上の長さの文字列を格納しようとすると、PostgreSQLはエラーを発生させることになります。 しかし、例外として、余分な文字が全て空白である場合、PostgreSQLは空白を最大長に切り詰めて文字列を格納します。 varcharデータ型に長さ指定子を指定する唯一の利点は、varchar(n)列に長い文字列を挿入しようとすると、PostgreSQLがチェックしてエラーを発行することです。

Syntax: variable_name VARCHAR(n)

例:
以下のコマンドを使用して、デモ用に新しいテーブル(char_testとします)を作成しましょう:

CREATE TABLE varchar_test ( id serial PRIMARY KEY, x VARCHAR (1), y VARCHAR(10));

次に、以下のコマンドを使用してchar_testテーブルに新しい行を挿入しましょう。

INSERT INTO varchar_test (x, y)VALUES ( 'Geeks', 'This is a test for char' );

この段階で、PostgreSQLはx列のデータ型がchar(1)であり、以下に示すように、この列に3文字の文字列を挿入しようとしたのでエラーが発生します:

ERROR: value too long for type character varying(1)

では、これを解決してみましょう。

INSERT INTO varchar_test (x, y)VALUES ( 'G', 'This is a test for char' );

今度はy列の入力文字数が10文字以上なので、以下のように同じエラーが出ます:

ERROR: value too long for type character varying(10)

ではこちらも修正してみましょう。

INSERT INTO varchar_test (x, y)VALUES ( 'G', 'hello Geek' );

これで、文字データ型にうまく値を割り当てることができましたので、以下のコマンドを実行して確認してください:

SELECT * FROM varchar_test;

出力:

記事のタグ:

コメントを残す

メールアドレスが公開されることはありません。