函数名称 | 返回类型 | 函数说明 | 用法示例 | 示例结果 |
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
|