函數名稱 | 返回類型 | 函數說明 | 用法示例 | 示例結果 |
ascii()
| int
| 獲取指定字符串中第一段字符的 ASCII 碼值。 | ascii('x')
| 120
|
btrim([,])
| text
| 從字符串的兩端移除指定的一組字符。如果未指定字符集合,則默認移除空白字符(如空格、制表符等)。 | btrim('xyxtrimyyx', 'xyz')
| trim
|
chr(
| text
| 將指定的整數(假設該整數代表一段ASCII或擴展ASCII字符的編碼值)轉換成對應的字符。 | chr(65)
| A
|
concat([,[, ...] ])
| text
| 將兩個或更多個字符串連接成一段字符串。 | concat('abcde', 2, NULL, 22)
| abcde222
|
concat_ws(,[,[, ...] ])
| text
| 將多個字符串使用指定的分隔符 sep 連接成一段字符串,并且允許在連接的字符串之間插入一段自定義的分隔符。 | concat_ws(',', 'abcde', 2, NULL, 22)
| abcde,2,22
|
convert(,,)
| bytea
| 將字符串轉換為dest_encoding ,原始編碼由src_encoding 指定。 | convert('text_in_utf8', 'UTF8', 'LATIN1')
| 用Latin-1 encoding (ISO 8859-1) 表示的text_in_utf8 |
convert_from(,)
| text
| 將二進制數據(bytea 類型)轉換為文本字符串,轉換時會使用指定的源字符編碼(src_encoding_name )。 | convert_from('text_in_utf8', 'UTF8')
| 用當前數據庫編碼表示的text_in_utf8 |
convert_to(,)
| bytea
| 將文本字符串轉換為二進制數據(bytea 類型),轉換時采用指定的目標字符編碼(dest_encoding_name )。 | convert_to('some text', 'UTF8')
| 用UTF8編碼表達的some text |
decode(,)
| bytea
| 將十六進制字符串(表示為文本)解碼為其二進制表示形式(bytea 類型)。 | decode('MTIzAAE=', 'base64')
| \x3132330001
|
encode(,)
| text
| 將二進制數據(bytea 類型)編碼為特定格式的文本字符串。 | encode('123\000\001', 'base64')
| MTIzAAE=
|
format([,[, ...] ])
| text
| 格式化字符串輸出。 | format('Hello %s, %1$s', 'World')
| Hello World, World
|
initcap()
| text
| 將字符串中每個單詞的首字母轉換為大寫,而其余字母轉換為小寫。 | initcap('hi THOMAS')
| Hi Thomas
|
left(,)
| text
| 從一段指定的字符串(str )的開始位置提取指定數量(n )的字符。 | left('abcde', 2)
| ab
|
length()
| int
| 計算指定字符串中字符的數量,包括空格和特殊字符。 | length('jose')
| 4
|
length(,)
| int
| 計算string 在指定編碼中的字符數。 | length('jose', 'UTF8')
| 4
|
lpad(,[,])
| text
| 在字符串的左側填充指定的字符直到達到指定的長度 | lpad('hi', 5, 'xy')
| xyxhi
|
ltrim([,])
| text
| 從字符串的左側移除指定的字符。如果不指定字符集,則默認移除空白字符(如空格、制表符、換行符等)。 | ltrim('zzzytest', 'xyz')
| test
|
md5()
| text
| 計算輸入字符串的MD5散列值。 | md5('abc')
| 900150983cd24fb0 d6963f7d28e17f72
|
parse_ident([,DEFAULT true ] )
| text[]
| 解析一段符合SQL標識符規則的字符串,并將其分解成一個模式和一個對象名。 | parse_ident('"SomeSchema".someTable')
| {SomeSchema,sometable}
|
pg_client_encoding()
| name
| 獲取當前會話的客戶端字符編碼設置。 | pg_client_encoding()
| SQL_ASCII
|
quote_ident()
| text
| 將指定的字符串轉換為一段可以在SQL語句中安全使用的標識符。 | quote_ident('Foo bar')
| "Foo bar"
|
quote_literal()
| text
| 強制轉換指定值為文本類型,并且用引號包圍。 | quote_literal(E'O\'Reilly')
| 'O''Reilly'
|
quote_literal(value anyelement ) | text
| 強制轉換指定值為文本類型,并且用引號包圍。 | quote_literal(42.5)
| '42.5'
|
quote_nullable()
| text
| 強制轉換指定值為文本類型,并且用引號包圍。如果參數為空,則返回NULL 。 | quote_nullable(NULL)
| NULL
|
quote_nullable()
| text
| 指定值可以為任何類型,并且用引號包圍。 | quote_nullable(42.5)
| '42.5'
|
regexp_match(,[,])
| text[]
| 執行正則表達式匹配。此函數在指定的字符串中搜索與指定模式匹配的子串,并返回匹配的結果數組。如果有多個匹配項,每個匹配都會作為一個元素返回。如果沒有匹配項,則返回 NULL。 | regexp_match('foobarbequebaz', '(bar)(beque)')
| {bar,beque}
|
regexp_matches(,[,])
| setof text[]
| 執行正則表達式匹配。此函數在指定的字符串中搜索與指定模式匹配的子串,并返回所有匹配的結果。 | regexp_matches('foobarbequebaz', 'ba.', 'g')
| {bar}
{baz}
(2 rows) |
regexp_replace(,,[,])
| text
| 替換匹配POSIX正則表達式的子串。 | regexp_replace('Thomas', '.[mN]a.', 'M')
| ThM
|
regexp_split_to_array(,[,])
| text[]
| 使用POSIX正則表達式作為分隔符劃分字符串。 | regexp_split_to_array('hello world', '\s+')
| {hello,world}
|
regexp_split_to_table(,[,])
| setof text
| 使用POSIX正則表達式作為分隔符劃分字符串。 | regexp_split_to_table('hello world', '\s+')
| hello
world
(2 rows) |
repeat(,))
| text
| 重復指定的字符串指定的次數。 | repeat('Pg', 4)
| PgPgPgPg
|
replace(,,)
| text
| 在指定的字符串中查找指定的子串并替換為另一段指定的子串。 | replace('abcdefabcdef', 'cd', 'XX')
| abXXefabXXef
|
reverse()
| text
| 反轉指定字符串中的字符順序。 | reverse('abcde')
| edcba
|
right(,)
| text
| 從指定的字符串(str)中提取最右邊的n個字符。 | right('abcde', 2)
| de
|
rpad(,[,])
| text
| 在字符串的右側填充指定的字符,直到達到指定的總長度。 | rpad('hi', 5, 'xy')
| hixyx
|
rtrim([,])
| text
| 刪除字符串末尾的指定字符或空白字符。 | rtrim('testxxzx', 'xyz')
| test
|
split_part(,,)
| text
| 將字符串按照指定的分隔符分割。 | split_part('abc~@~def~@~ghi', '~@~', 2)
| def
|
strpos(,)
| int
| 查找子字符串 substring 在字符串 string 中第一次出現的位置。 | strpos('high', 'ig')
| 2
|
substr(,[,])
| text
| 從原始字符串中提取子串。 | substr('alphabet', 3, 2)
| ph
|
starts_with(,)
| bool
| 如果string 以prefix 開始則返回真。 | starts_with('alphabet', 'alph')
| t
|
to_ascii([,])
| text
| 將string 從另一段編碼轉換到ASCII(只支持LATIN1 、LATIN2 、LATIN9 和WIN1250 編碼的轉換)。 | to_ascii('Karel')
| Karel
|
to_hex(or)
| text
| 將整數(integer)或大整數(bigint)類型的數值轉換為其對應的十六進制字符串表示。 | to_hex(2147483647)
| 7fffffff
|
translate(,,)
| text
| 將字符串中的某些字符替換為另一些字符。 | translate('12345', '143', 'ax')
| a2x5
|