openGauss SQL参考—函数和操作符:字符处理函数和操作符(2)
-
quote_literal(value anyelement)
描述:将给定的值强制转换为text,加上引号作为文本。
返回值类型:text
示例:
openGauss=# SELECT quote_literal(42.5); quote_literal --------------- '42.5' (1 row)如果出现如下写法,定值将进行转义。
openGauss=# SELECT quote_literal(E'O\'42.5'); quote_literal --------------- '0''42.5' (1 row)如果出现如下写法,反斜杠会写入两次。
openGauss=# SELECT quote_literal('O\42.5'); quote_literal --------------- E'O\\42.5' (1 row) -
quote_nullable(string text)
描述:返回适用于在SQL语句里当作字符串使用的形式(使用适当的引号进行界定)。
返回值类型:text
示例:
openGauss=# SELECT quote_nullable('hello'); quote_nullable ---------------- 'hello' (1 row)如果出现如下写法,text文本将进行转义。
openGauss=# SELECT quote_nullable(E'O\'hello'); quote_nullable ---------------- 'O''hello' (1 row)如果出现如下写法,反斜杠会写入两次。
openGauss=# SELECT quote_nullable('O\hello'); quote_nullable ---------------- E'O\\hello' (1 row)如果参数为NULL,返回NULL。
openGauss=# SELECT quote_nullable(NULL); quote_nullable ---------------- NULL (1 row) -
quote_nullable(value anyelement)
描述:将给定的参数值转化为text,加上引号作为文本。
返回值类型:text
示例:
openGauss=# SELECT quote_nullable(42.5); quote_nullable ---------------- '42.5' (1 row)如果出现如下写法,定值将进行转义。
openGauss=# SELECT quote_nullable(E'O\'42.5'); quote_nullable ---------------- 'O''42.5' (1 row)如果出现如下写法,反斜杠会写入两次。
openGauss=# SELECT quote_nullable('O\42.5'); quote_nullable ---------------- E'O\\42.5' (1 row)如果参数为NULL,返回NULL。
openGauss=# SELECT quote_nullable(NULL); quote_nullable ---------------- NULL (1 row) -
substring_inner(string [from int] [for int])
描述:截取子字符串,from int表示从第几个字符开始截取,for int表示截取几个字节。
返回值类型:text
示例:
openGauss=# select substring_inner('adcde', 2,3); substring_inner ----------------- dcd (1 row) -
substring(string [from int] [for int])
描述:截取子字符串,from int表示从第几个字符开始截取,for int表示截取几个字节。
返回值类型:text
示例:
openGauss=# SELECT substring('Thomas' from 2 for 3); substring ----------- hom (1 row) -
substring(string from pattern)
描述:截取匹配POSIX正则表达式的子字符串。如果没有匹配它返回空值,否则返回文本中匹配模式的那部分。
返回值类型:text
示例:
openGauss=# SELECT substring('Thomas' from '...$'); substring ----------- mas (1 row) openGauss=# SELECT substring('foobar' from 'o(.)b'); result -------- o (1 row) openGauss=# SELECT substring('foobar' from '(o(.)b)'); result -------- oob (1 row)
说明:如果POSIX正则表达式模式包含任何圆括号,那么将返回匹配第一对子表达式(对应第一个左圆括号的)的文本。如果你想在表达式里使用圆括号而又不想导致这个例外,那么你可以在整个表达式外边放上一对圆括号。

浙公网安备 33010602011771号