GBase 8c
其他
文章

GBase 8c函数和操作符——字符处理函数和操作符(O-T)

发表于2023-12-07 17:54:5019次浏览2个评论

O-T
 

l octet_length(string)

描述:字符串中的字节数。

返回值类型:int

示例:

gbase=# SELECT octet_length('jose');

octet_length

--------------

4

(1 row)

l overlay(string placing string FROM int [for int])

描述:替换子字符串。FROM int表示从第一个string的第几个字符开始替换,for int表示替换第一个string的字符数目。

返回值类型:text

示例:

gbase=# SELECT overlay('hello' placing 'world' from 2 for 3 );

overlay

---------

hworldo

(1 row)

l position(substring in string)

描述:指定子字符串的位置。字符串区分大小写。

返回值类型:int,字符串不存在时返回0。

示例:

gbase=# SELECT position('ing' in 'string');

position

----------

4

(1 row)

l pg_client_encoding()

描述:当前客户端编码名称。

返回值类型:name

示例:

gbase=# SELECT pg_client_encoding();

pg_client_encoding

--------------------

UTF8

(1 row)

l quote_ident(string text)

描述:返回适用于SQL语句的标识符形式(使用适当的引号进行界定)。只有在必要的时候才会添加引号(字符串包含非标识符字符或者会转换大小写的字符)。返回值中嵌入的引号都写了两次。

返回值类型:text

示例:

gbase=# SELECT quote_ident('hello world');

quote_ident

--------------

"hello world"

(1 row)

l quote_literal(string text)

描述:返回适用于在SQL语句里当作文本使用的形式(使用适当的引号进行界定)。

返回值类型:text

示例:

gbase=# SELECT quote_literal('hello');

quote_literal

---------------

'hello'

(1 row)

如果出现如下写法,text文本将进行转义。

gbase=# SELECT quote_literal(E'O\'hello');

quote_literal

---------------

'O''hello'

(1 row)

如果出现如下写法,反斜杠会写入两次。

gbase=# SELECT quote_literal('O\hello');

quote_literal

---------------

E'O\\hello'

(1 row)

如果参数为NULL,返回空。如果参数可能为null,通常使用函数quote_nullable更适用。

gbase=# SELECT quote_literal(NULL);

quote_literal

---------------

 

(1 row)

l quote_literal(value anyelement)

描述:将给定的值强制转换为text,加上引号作为文本。

返回值类型:text

示例:

gbase=# SELECT quote_literal(42.5);

quote_literal

---------------

'42.5'

(1 row)

如果出现如下写法,定值将进行转义。

gbase=# SELECT quote_literal(E'O\'42.5');

quote_literal

---------------

'0''42.5'

(1 row)

如果出现如下写法,反斜杠会写入两次。

gbase=# SELECT quote_literal('O\42.5');

quote_literal

---------------

E'O\\42.5'

(1 row)

l quote_nullable(string text)

描述:返回适用于在SQL语句里当作字符串使用的形式(使用适当的引号进行界定)。

返回值类型:text 示例:

gbase=# SELECT quote_nullable('hello');

quote_nullable

----------------

'hello'

(1 row)

如果出现如下写法,text文本将进行转义。

gbase=# SELECT quote_nullable(E'O\'hello');

quote_nullable

----------------

'O''hello'

(1 row)

如果出现如下写法,反斜杠会写入两次。

gbase=# SELECT quote_nullable('O\hello');

quote_nullable

----------------

E'O\\hello'

(1 row)

如果参数为NULL,返回NULL。

gbase=# SELECT quote_nullable(NULL);

quote_nullable

----------------

NULL

(1 row)

评论

登录后才可以发表评论
崔哥发表于 4个月前
苏溪亭上草漫漫,谁倚东风十二阑。燕子不归春事晚,一汀烟雨杏花寒。
沉香发表于 2个月前
学习了