Cのバックグラウンドを持っている場合、PostgreSQLの文字列型はではありません。 文字の配列。
タイプごとにfoo
PostgreSQLには、対応する配列タイプ foo []
があります。 これは、タイプ foo
の値の配列を示します 。配列型は、データベース内であまり操作する予定がない場合にのみ使用してください。その場合は、通常、配列を別のテーブルに正規化することをお勧めします。
配列型は別として、さまざまな文字型があります:
-
"char"
(二重引用符が必要です):1文字。主にカタログテーブルで使用されます。何をしているのかわからない場合は、このタイプを使用しないでください。 -
character(n)
またはchar(n)
:固定長文字列。そこに何を保存しても、常に右側にスペースが埋め込まれます。 SQL標準で規定されている動作は、驚くべき場合があるため、このタイプが必要になることはめったにありません。 -
テキストコード> :任意の長さの文字列。これは、データベースに長さの制限を課したくない場合を除いて、文字列に必要なタイプです。
-
文字の変化(n)
またはvarchar(n)
:これはtext
と同じです 追加の長さ制限があります。
例で締めくくります:
CREATE TABLE strtest(
id serial PRIMARY KEY,
sc "char",
c character(10),
vc character varying(10),
vca character varying(10)[]
);
INSERT INTO strtest (sc, c, vc, vca)
VALUES (
'x',
'short',
'short',
ARRAY['short1', 'short2', 'short3']
);
SELECT sc, c, vc, vca[2] FROM strtest;
sc | c | vc | vca
----+------------+-------+--------
x | short | short | short2
(1 row)