PostgreSQL
上一頁 第二章. SQL 語法 下一頁

常量

Postgres 裡使用三種隱含常量:strings(字符串),integers(整數)和floating point numbers(浮點數)。常量也可以被聲明為顯式的型態,這樣可以獲得更精確的表示和更有效的後端處理。我們在下面討論隱含常量﹔顯式常量以後討論。

字符串常量

SQL 裡的 Strings (字符串)是用單引號("'",例如,'這是 一個 字符串')包圍的任意 ASCII 字符序列。SQL92 允許通過鍵入兩個相鄰的單引號的方法在字符串中嵌入單引號(如:'Dianne''s horse')。在 Postgres 裡,單引號可以通過用反斜杠("\")轉意的方法來嵌入(如:'Dianne\'s horse')。要在一個字符串常量裡包含一個反斜杠,鍵入兩個反斜杠。不可列印的字符也可以用前置反斜杠的方法嵌入字符串(如:'\tab')。

Integer(整數)常量

SQL 裡的Integer (整數)常量是一個沒有小數點的 ASCII 數字集合。合法的數值範圍從-2147483648 到 +2147483647。這個範圍會因作業系統和主機(硬件)的不同而異。

注意更大的整數可以用 SQL92 字符串符號或 Postgres 型態符號聲明為 int8

int8 '4000000000'  -- string style
'4000000000'::int8 -- Postgres (historical) style
     

Floating Point (浮點數)常量

Floating point (浮點數)常量包含一個整數部分,一個小數點和下面格式的一個小數部分或者科學記數:

{dig}.{dig} [e [+-] {dig}]
     

這裡 dig 是一或者更多小數位。如果你使用這個選項,你必須在句點和 [+-] 後面包括至少一個 dig。一個沒有尾數的指數會被認為有一個為 1 的尾數。在字符串裡可能沒有嵌入其他字符。

Floating point (浮點數)常量型態是float8float4 可以用 SQL92 字符串表示法或者 Postgres 型態表示法顯式地聲明:

float4 '1.23'  -- string style
'1.23'::float4 -- Postgres (historical) style
     

Postgres 用戶定義型態的常量

任意 型態的常量可以用下面任何一種符號輸入:

type 'string'
'string'::type
CAST 'string' AS type
     

字符串裡的數值被傳遞給型態 type 的輸入轉換程序。結果就是指明型態的常量。如果對該常量,其型態只有一種而沒有語意含混的情況,那麼顯式的型態轉換可以省略,這時型態轉換是自動強制進行的。

數組常量

數組常量 是任意 Postgres 型態的數組,包括其他數組,字符串常量等。一個數組常量的通用格式如下:

{val1delimval2delim}
     

這裡 delim 是在 pg_type 表裡該型態的分隔符。(對於內建型態,這就是逗號字符(","))。一個數組常量的例子是

{{1,2,3},{4,5,6},{7,8,9}}
     

這個常量是一個二維的,3乘3的,由三個整數的子數組組成的。

獨立的數組元素可以並且也應該放在引用符號(如大括號)之間,這樣與用空白間隔比起來可以避免語意含混的問題。


上一頁 首頁 下一頁
名稱 開頭 域和列(字段)