?
This document uses PHP Chinese website manual Release
對于枚舉類型(描述在Section 8.7), 有一些函數(shù)允許簡潔的編寫沒有特定的硬編碼值的枚舉類型。 這些列在Table 9-29。 像下面的創(chuàng)建枚舉類型的例子:
CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple');
Table 9-29. 支持枚舉函數(shù)
函數(shù) | 描述 | 示例 | 結(jié)果 |
---|---|---|---|
enum_first(anyenum) | 返回輸入枚舉類型的第一個(gè)值 | enum_first(null::rainbow) | red |
enum_last(anyenum) | 返回輸入枚舉類型的最后一個(gè)值 | enum_last(null::rainbow) | purple |
enum_range(anyenum) | 以一個(gè)有序的數(shù)組的形式返回輸入枚舉類型的所有值 | enum_range(null::rainbow) | {red,orange,yellow,green,blue,purple} |
enum_range(anyenum, anyenum) | 返回在給定兩個(gè)枚舉值之間的范圍,作為一個(gè)數(shù)組。該值必須是相同的枚舉類型。 如果第一個(gè)參數(shù)為空,其結(jié)果將從枚舉類型的第一個(gè)值開始。 如果第二參數(shù)為空,其結(jié)果將以枚舉類型的最后一個(gè)值結(jié)束。 | enum_range('orange'::rainbow, 'green'::rainbow) | {orange,yellow,green} |
enum_range(NULL, 'green'::rainbow) | {red,orange,yellow,green} | ||
enum_range('orange'::rainbow, NULL) | {orange,yellow,green,blue,purple} |
請注意,除了兩個(gè)參數(shù)形式的enum_range
外,
這些函數(shù)忽略傳遞給他們的具體值,他們只關(guān)心
聲明的數(shù)據(jù)類型。 null或一個(gè)特定的值
可以通過類型,得到相同的結(jié)果。這是較常見
這些功能適用于表列或函數(shù)的參數(shù)比一個(gè)硬性的類型名稱,
作為建議的例子。