8.3. 字符類型

Table 8-4. 字符類型

名字描述
character varying(n), varchar(n)變長,有長度限制
character(n), char(n)定長,不足補空白
text變長,無長度限制

Table 8-4 顯示了 在 PostgreSQL 裡可用的一般用途的 字符類型。

SQL 定義了兩種基本的字符類型︰ character varying(n)character(n), 這裡的 n 是一個正整數.兩種類型都可以存儲 最多 n 個字符長的字串. 試圖存儲更長的字串到這些類型的字段裡會產生一個錯誤, 除非超出長度的字符都是空白,這種情況下該字串將被截斷為最大 長度.(這個看上去有點怪異的例外是SQL標準要求的.) 如果要存儲的字串比聲明的長度短, 類型為 character 的數值將會用空白填滿; 而類型為 character varying 的數值將只是 存儲短些的字串.

如果我們明確地把一個數值轉換成 character(n) 或者 character varying(n),那麼超長的數值 將被截斷成 n 個字符,而不會拋出錯誤。(這也是SQL標準的要求。)

注意: PostgreSQL7.2 以前,太長的字串總會被不聲不響地