GBase 8c 函数和操作符 - 字符处理函数和操作符 之 O-T

  • octet_length(string)

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

返回值类型:int

示例:

gbase=# SELECT octet_length('jose');

octet_length

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

4

(1 row)

  • 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)

  • position(substring in string)

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

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

示例:

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

position

----------

4

(1 row)

  • pg_client_encoding()

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

返回值类型:name

示例:

gbase=# SELECT pg_client_encoding();

pg_client_encoding

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

UTF8

(1 row)

  • quote_ident(string text)

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

返回值类型:text

示例:

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

quote_ident

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

"hello world"

(1 row)

  • 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)

  • 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)

  • 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)

  • quote_nullable(value anyelement)

描述:将给定的参数值转化为text,加上引号作为文本。

返回值类型:text

示例:

gbase=# SELECT quote_nullable(42.5);

quote_nullable

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

'42.5'

(1 row)

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

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

quote_nullable

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

'O''42.5'

(1 row)

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

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

quote_nullable

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

E'O\\42.5'

(1 row)

如果参数为NULL,返回NULL。

gbase=# SELECT quote_nullable(NULL);

quote_nullable

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

NULL

(1 row)

  • rawcat(raw,raw)

描述:字符串拼接函数。

返回值类型:raw

示例:

gbase=# SELECT rawcat('ab','cd');

rawcat

--------

ABCD

(1 row)

  • regexp_like(text,text,text)

描述:正则表达式的模式匹配函数。

返回值类型:bool

示例:

gbase=# SELECT regexp_like('str','[ac]');

regexp_like

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

 f

(1 row)

  • replace(string varchar, search_string varchar, replacement_string varchar)

描述:把字符串string中所有子字符串search_string替换成子字符串replacement_string 。

返回值类型:varchar

示例:

gbase=# SELECT replace('jack and jue','j','bl');

replace

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

black and blue

(1 row)

  • rpad(string varchar, length int [, fill varchar])

描述:使用填充字符fill(缺省时为空白),把string填充到length长度。如果string已经比length长则将其从尾部截断。length参数在GBase 8c中表示字符长度。一个汉字长度计算为一个字符。

返回值类型:varchar

示例:

gbase=# SELECT rpad('hi',5,'xyza');

rpad

-------

hixyz

(1 row)

gbase=# SELECT rpad('hi',5,'abcdefg');

rpad

-------

hiabc

(1 row)

  • regexp_substr(source_char, pattern)

描述:正则表达式的抽取子串函数。SQL语法兼容A和B的情况下,GUC参数behavior_compat_options的值包含aformat_regexp_match时,.不能匹配 '\n' 字符;不包含aformat_regexp_match时,.能够匹配'\n'字符。

返回值类型:text

示例:

gbase=# SELECT regexp_substr('500 Hello World, Redwood Shores, CA', ',[^,]+,') "REGEXPR_SUBSTR";

REGEXPR_SUBSTR

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

, Redwood Shores,

(1 row)

  • regexp_replace(string, pattern, replacement [,flags ])

描述:替换匹配POSIX正则表达式的子字符串。如果没有匹配pattern,那么返回不加修改的string串。如果有匹配,则返回的string串里面的匹配子串将被replacement串替换掉。

replacement串可以包含\n,其中\n是1到9,表明string串里匹配模式里第n个圆括号子表达式的子串应该被插入,并且它可以包含\&表示应该插入匹配整个模式的子串。

可选的flags参数包含零个或多个改变函数行为的单字母标记。i表示进行大小写无关的匹配,g表示替换每一个匹配的子字符串而不仅仅是第一个。m表示按照多行模式匹配。SQL语法兼容A和B的情况下,n选项在GUC参数behavior_compat_options的值包含aformat_regexp_match时,表示 . 能够匹配'\n' 字符,flags中没有指定n时,默认不能匹配'\n'字符;值不包含aformat_regexp_match时,. 默认能匹配'\n'字符。n选项的含义与m选项一致。

返回值类型:varchar

示例:

gbase=# SELECT regexp_replace('Thomas', '.[mN]a.', 'M');

regexp_replace

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

ThM

(1 row)

gbase=# SELECT regexp_replace('foobarbaz','b(..)', E'X\\1Y', 'g') AS RESULT;

result

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

fooXarYXazY

(1 row)

  • string [NOT] LIKE pattern [ESCAPE escape-character]

描述:模式匹配函数。

如果pattern不包含百分号或者下划线,该模式只代表它本身,这时候LIKE的行为 就像等号操作符。在pattern里的下划线(_)匹配任何单个字符;而一个百分号(%)匹配零或多个任何字符。

要匹配下划线或者百分号本身,在pattern里相应的字符必须前导逃逸字符。缺省的逃逸字符是反斜杠,但是用户可以用ESCAPE子句指定一个。要匹配逃逸字符本身,写两个逃逸字符。

返回值类型:Boolean

示例:

gbase=# SELECT 'AA_BBCC' LIKE '%A@_B%' ESCAPE '@' AS RESULT;

result

--------

t

(1 row)

gbase=# SELECT 'AA_BBCC' LIKE '%A@_B%' AS RESULT;

result

--------

f

(1 row)

gbase=# SELECT 'AA@_BBCC' LIKE '%A@_B%' AS RESULT;

result

--------

t

(1 row)

  • repexp_replace(string text, pattern text [, replacement text [, position int [, occurrence int [, flags text]]]])

描述:替换匹配POSIX正则表达式的子字符串。如果没有匹配pattern,那么返回不加修改的string串。如果有匹配,则返回的string串里面的匹配子串将被replacement串替换掉。

参数说明:

--string:用于匹配的源字符串

-- pattern:用于匹配的正则表达式模式串

-- replacement:可选参数,用于替换匹配子串的字符串。如果不给定参数值或 者为null, 表示用空串替换。

-- position:可选参数,表示从源字符串的第几个字符开始匹配,默认值为1。

-- occurrence:可选参数,表示替换第occurrence个匹配的子串。默认值为0, 表示替换所有匹配到的子串。

-- flags:可选参数,包含零个或多个改变函数匹配行为的单字母标记。其中: m表示按照多行模式匹配。SQL语法兼容A和B的情况下,n选项在GUC参数behavior_compat_options值包含aformat_regexp_match时,表示 . 能够匹配 '\n' 字符,flags中没有指定n时,默认.不能匹配 '\n' 字符;值不包含aformat_regexp_match时,. 默认能匹配'\n'字符。n选项的含义与m选项一致。

返回值类型:text

示例:

gbase=# SELECT regexp_replace('Thomas','.[mN]a.','M');

regexp_replace

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

 ThM

(1 row)

gbase=# SELECT regexp_replace('footbarbaz','b(..)',E'X\\1Y','g') AS RESULT;

    result

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

 footXarYXazY

(1 row)

  • regexp_substr(string text, pattern text [, position int [, occurrence int [, flags text]]])

描述:正则表达式的抽取子串函数。与substr功能相似,正则表达式出现多个并列的括号时,也全部处理。

参数说明:

-- string:用于匹配的源字符串。

-- pattern:用于匹配的正则表达式模式串。

-- position:可选参数,表示从源字符串的第几个字符开始匹配,默认值为1。

-- occurrence:可选参数,表示抽取第几个满足匹配的子串,为,默认值为1。

-- flags:可选参数,包含零个或多个改变函数匹配行为的单字母标记。其中: m表示按照多行模式匹配。SQL语法兼容A和B的情况下,n选项在GUC参数behavior_compat_options值包含aformat_regexp_match时,表示 . 能够匹配 '\n' 字符,flags中没有指定n时,默认.不能匹配 '\n' 字符;值不包含aformat_regexp_match时,. 默认能匹配'\n'字符。n选项的含义与m选项一致。

返回值类型:text

示例:

gbase=# SELECT regexp_substr('str','[ac]');

regexp_substr

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

(1 row) 

gbase=# SELECT regexp_substr('foobarbaz', 'b(..)', 3, 2) AS RESULT;

result

--------

baz

(1 row)

  • regexp_count(string text, pattern text [, position int [, flags text]])

描述:获取满足匹配的子串个数。参数说明:

-- string:用于匹配的源字符串。

-- pattern:用于匹配的正则表达式模式串。

-- position:表示从源字符串的第几个字符开始匹配,为可选参数,默认值为  1。

-- flags:可选参数,包含零个或多个改变函数匹配行为的单字母标记。其中: m表示按照多行模式匹配。SQL语法兼容A和B的情况下,n选项在GUC参数behavior_compat_options值包含aformat_regexp_match时,表示 . 能够匹配 '\n' 字符,flags中没有指定n时,默认.不能匹配 '\n' 字符;值不包含aformat_regexp_match时,. 默认能匹配'\n'字符。n选项的含义与m选项一致。

返回值类型:int

示例:

gbase=# SELECT regexp_count('foobarbaz','b(..)', 5) AS RESULT;

result

--------

1

(1 row)

  • regexp_instr(string text, pattern text [, position int [, occurrence int [, return_opt int [, flags text]]]])

描述:获取满足匹配条件的子串位置(从1开始)。如果没有匹配的子串,则返回0。

参数说明:

-- string:用于匹配的源字符串。

-- pattern:用于匹配的正则表达式模式串。

-- position:可选参数,表示从源字符串的第几个字符开始匹配,默认值为1。

-- occurrence:可选参数,表示获取第occurrence个匹配子串的位置,默认值为1。

-- return_opt:可选参数,用于控制返回匹配子串的首字符位置还是尾字符位 置。取值为0时,返回匹配子串的第一个字符的位置(从1开始计算),取值为大于0的值时,返回匹配子串的尾字符的下一个字符的位置。默认值为0。

-- flags:可选参数,包含零个或多个改变函数匹配行为的单字母标记。其中: m表示按照多行模式匹配。SQL语法兼容A和B的情况下,n选项在GUC参数behavior_compat_options值包含aformat_regexp_match时,表示 . 能够匹配 '\n' 字符,flags中没有指定n时,默认.不能匹配 '\n' 字符;值不包含aformat_regexp_match时,. 默认能匹配'\n'字符。n选项的含义与m选项一致。

返回值类型:int

示例:

gbase=# SELECT regexp_instr('foobarbaz','b(..)', 1, 1, 0) AS RESULT;

 result

--------

 4

(1 row) 

gbase=# SELECT regexp_instr('foobarbaz','b(..)', 1, 2, 0) AS RESULT;

 result

--------

7

(1 row)

  • regexp_matches(string text, pattern text [, flags text])

描述:返回string中所有匹配POSIX正则表达式的子字符串。如果pattern不匹配,  该函数不返回行。如果模式不包含圆括号子表达式,则每一个被返回的行都是一个单一元素的文本数组,其中包括匹配整个模式的子串。如果模式包含圆括号子表达式,该函数返回一个文本数组,它的第n个元素是匹配模式的第n个圆括号子表达式的子串。

flags参数为可选参数,包含零个或多个改变函数行为的单字母标记。i表示进行大小写无关的匹配,g表示替换每一个匹配的子字符串而不仅仅是第一个。

如果提供了最后一个参数,但参数值是空字符串(''),且数据库SQL兼容模式设置为A的情况下,会导致返回结果为空集。这是因为A兼容模式将''作为NULL处理,避免此类行为的方式有如下几种:

-- 将数据库SQL兼容模式改为C;

-- 不提供最后一个参数,或最后一个参数不为空字符串。

返回值类型:setof text[]

示例:

gbase=# SELECT regexp_matches('foobarbequebaz', '(bar)(beque)');

regexp_matches

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

 {bar,beque}

(1 row)

gbase=# SELECT regexp_matches('foobarbequebaz', 'barbeque');

regexp_matches

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

{barbeque}

(1 row)

gbase=# SELECT regexp_matches('foobarbequebazilbarfbonk', '(b[^b]+)(b[^b]+)', 'g');

regexp_matches

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

 {bar,beque}

 {bazil,barf}

(2 rows)

  • regexp_split_to_array(string text, pattern text [, flags text ])

描述:用POSIX正则表达式作为分隔符,分隔string。和regexp_split_to_table相 同,不过regexp_split_to_array会把它的结果以一个text数组的形式返回。

返回值类型:text[]

示例:

gbase=# SELECT regexp_split_to_array('hello world', E'\\s+');

 regexp_split_to_array

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

{hello,world}

(1 row)

  • regexp_split_to_table(string text, pattern text [,  flags text])

描述:用POSIX正则表达式作为分隔符,分隔string。如果没有与pattern的匹配,  该函数返回string。如果有至少有一个匹配,对每一个匹配它都返回从上一个匹配的末尾(或者串的开头)到这次匹配开头之间的文本。当没有更多匹配时,它返回从上一次匹配的末尾到串末尾之间的文本。

flags参数包含零个或多个改变函数行为的单字母标记。i表示进行大小写无关的匹配。

返回值类型:setof text

示例:

gbase=# SELECT regexp_split_to_table('hello world', E'\\s+');

regexp_split_to_table

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

hello

world

(2 rows)

  • repeat(string text, number int )

描述:将string重复number次。

返回值类型:text。

示例:

gbase=# SELECT repeat('Pg', 4);

repeat

----------

PgPgPgPg

(1 row)

由于数据库内存分配机制限制单次内存分配不可超过1GB,因此number最大值不应超过(1G-x)/lengthb(string) - 1。x为头信息长度,通常大于4字节,其具体值在不同的场景下存在差异。

  • replace(string text, from text, to text)

描述:把字符串string里出现地所有子字符串from的内容替换成子字符串to的内容。

返回值类型:text

示例:

gbase=# SELECT replace('abcdefabcdef', 'cd', 'XXX');

    replace

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

 abXXXefabXXXef

(1 row)

  • replace(string, substring)

描述:删除字符串string里出现的所有子字符串substring的内容。

string 类型:text substring类型:

text 返回值类型:text

示例:

gbase=# SELECT replace('abcdefabcdef', 'cd');

replace

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

abefabef

(1 row)

  • reverse(str)

描述:返回颠倒的字符串。

返回值类型:text

示例:

gbase=# SELECT reverse('abcde');

reverse

---------

edcba

(1 row)

  • right(str text, n int)

描述:返回字符串中的后n个字符。当n是负值时,返回除前|n|个字符以外所有字符。

返回值类型:text

示例:

gbase=# SELECT right('abcde', 2);

right

-------

de

(1 row)

gbase=# SELECT right('abcde', -2);

right

-------

cde

(1 row)

  • rpad(string text, length int [, fill text])

描述:使用填充字符fill(缺省时为空白),把string填充到length长度。如果string已经比length长则将其从尾部截断。

返回值类型:text

示例:

gbase=# SELECT rpad('hi', 5, 'xy');

rpad

-------

hixyx

(1 row)

  • rtrim(string text [, characters text])

描述:从字符串string的结尾删除只包含characters中字符(缺省是个空白)的最长的字符串。

返回值类型:text

示例:

gbase=# SELECT rtrim('trimxxxx', 'x');

rtrim

-------

trim

(1 row)

  • rtrim(string [, characters])

描述:从字符串string的结尾删除只包含characters中字符(缺省是个空白)的最长的字符串。

返回值类型:varchar

示例:

gbase=# SELECT rtrim('TRIMxxxx','x');

rtrim

-------

TRIM

(1 row)

  • REGEXP_LIKE(source_string, pattern [, match_parameter])

描述:正则表达式的模式匹配函数。

source_string为源字符串,pattern为正则表达式匹配模式。 match_parameter为匹配选项,可取值为:

-- 'i':大小写不敏感。

-- 'c':大小写敏感。

-- 'n':允许正则表达式元字符“.”匹配换行符。

-- 'm':将source_string视为多行。

-- 若忽略match_parameter选项,默认为大小写敏感,“.”不匹配换行符,source_string视为单行。

返回值类型:Boolean

示例:

gbase=# SELECT regexp_like('ABC', '[A-Z]');

regexp_like

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

t

(1 row)

gbase=# SELECT regexp_like('ABC', '[D-Z]');

regexp_like

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

f

(1 row)

gbase=# SELECT regexp_like('ABC', '[a-z]','i');

regexp_like

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

t

(1 row) 

  • substring_inner(string [from int] [for int])

描述:截取子字符串,from int表示从第几个字符开始截取,for int表示截取几个字节。

返回值类型:text

示例:

gbase=# select substring_inner('adcde', 2,3);

substring_inner

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

dcd

(1 row)

  • substring(string [from int] [for int])

描述:截取子字符串,from int表示从第几个字符开始截取,for int表示截取几个字节。

返回值类型:text

示例:

gbase=# SELECT substring('Thomas' from 2 for 3);

substring

-----------

hom

(1 row)

  • substring(string from pattern)

描述:截取匹配POSIX正则表达式的子字符串。如果没有匹配它返回空值,否则返回文本中匹配模式的那部分。

返回值类型:text

示例:

gbase=# SELECT substring('Thomas' from '...$');

substring

-----------

mas

(1 row)

gbase=# SELECT substring('foobar' from 'o(.)b');

result

--------

o

(1 row)

gbase=# SELECT substring('foobar' from '(o(.)b)');

result

--------

oob

(1 row)

如果POSIX正则表达式模式包含任何圆括号,那么将返回匹配第一对子表达式(对应第一个左圆括号的)的文本。如果需要使用圆括号而不产生以上结果,可以在整个表达式外边放上一对圆括号。

  • substring(string from pattern for escape)

描述:截取匹配SQL正则表达式的子字符串。声明的模式必须匹配整个数据串, 否则函数失败并返回空值。为了标识在成功的时候应该返回的模式部分,模式必须包含逃逸字符的两次出现,并且后面要跟上双引号(")。匹配这两个标记之间的模式的文本将被返回。

返回值类型:text

示例:

gbase=# SELECT substring('Thomas' from '%#"o_a#"_' for '#');

substring

-----------

oma

(1 row)

  • substrb(text,int,int)

描述:提取子字符串,第一个int表示提取的起始位置,第二个表示提取几位字符。

返回值类型:text

示例:

gbase=# SELECT substrb('string',2,3);

substrb

---------

tri

(1 row)

  • substrb(text,int)

描述:提取子字符串,int表示提取的起始位置。

返回值类型:text

示例:

gbase=# SELECT substrb('string',2);

substrb

---------

tring

(1 row)

  • substr(bytea,from,count)

描述:从参数bytea中抽取子字符串。from表示抽取的起始位置,count表示抽取的子字符串长度。

返回值类型:text

示例:

gbase=# SELECT substr('string',2,3);

substr

--------

tri

(1 row)

  • string || string

描述:连接字符串。

返回值类型:text

示例:

gbase=# SELECT 'MPP'||'DB' AS RESULT;

result

--------

MPPDB

(1 row)

  • string || non-string或non-string || string

描述:连接字符串和非字符串。

返回值类型:text

示例:

gbase=# SELECT 'Value: '||42 AS RESULT;

result

-----------

Value: 42

(1 row)

  • split_part(string text, delimiter text, field int)

描述:根据delimiter分隔string返回生成的第field个子字符串(从出现第一个delimiter的text为基础)。

返回值类型:text

示例:

gbase=# SELECT split_part('abc~@~def~@~ghi', '~@~', 2);

split_part

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

def

(1 row)

  • strpos(string, substring)

描述:指定的子字符串的位置。和position(substring in string)一样,不过参数顺序相反。

返回值类型:int

示例:

gbase=# SELECT strpos('source', 'rc');

strpos

--------

4

(1 row)

  • substr(string,from)

描述:

从参数string中抽取子字符串。from表示抽取的起始位置。from为0时,按1处理。from为正数时,抽取从from到末尾的所有字符。from为负数时,抽取字符串的后n个字符,n为from的绝对值。

返回值类型:varchar

示例:

from为正数时:

gbase=# SELECT substr('ABCDEF',2);

substr

--------

BCDEF

(1 row)

from为负数时:

gbase=# SELECT substr('ABCDEF',-2);

substr

--------

EF

(1 row)

  • substr(string,from,count)

描述:

从参数string中抽取子字符串。from表示抽取的起始位置。count表示抽取的子字符串长度。from为0时,按1处理。from为正数时,抽取从from开始的count个字符。from为负数时,抽取从倒数第n个开始的count个字符,n为from的绝对值。count小于1时,返回null。

返回值类型:varchar

示例:

from为正数时:

gbase=# SELECT substr('ABCDEF',2,2);

substr

--------

BC

(1 row)

from为负数时:

gbase=# SELECT substr('ABCDEF',-3,2);

substr

--------

DE

(1 row)

  • substrb(string,from)

描述:该函数和SUBSTR(string,from)函数功能一致,但是计算单位为字节。

返回值类型:bytea

示例:

gbase=# SELECT substrb('ABCDEF',-2);

substrb

---------

EF

(1 row)

l substrb(string,from,count)

描述:该函数和SUBSTR(string,from,count)函数功能一致,但是计算单位为字节。

返回值类型:bytea 示例:

gbase=# SELECT substrb('ABCDEF',2,2);

substrb

---------

BC

(1 row)

  • similar_escape(pat text, esc text)

描述:将一个 SQL:2008风格的正则表达式转换为POSIX风格。

返回值类型:text

示例:

gbase=# SELECT similar_escape('\s+ab','2');

similar_escape

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

^(?:\\s+ab)$

(1 row)

  • svals(hstore)

描述:获取hstore中的值。

返回值类型:SETOF text

示例:

gbase=# SELECT svals('"aa"=>"bb"');

svals

-------

bb

(1 row)

  • tconvert(key text, value text)

描述:将字符串转换为hstore格式。

返回值类型:hstore

示例:

gbase=# SELECT tconvert('aa', 'bb');

tconvert

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

"aa"=>"bb"

(1 row)

  • to_hex(number int or bigint)

描述:把number转换成十六进制表现形式

。返回值类型:text

示例:

gbase=# SELECT to_hex(2147483647);

to_hex

----------

7fffffff

(1 row)

  • translate(string text, from text, to text)

描述:把在string中包含的任何匹配from中字符的字符转化为对应的在to中的字符。如果from比to长,删掉在from中出现的额外的字符。

返回值类型:text

示例:

gbase=# SELECT translate('12345', '143', 'ax');

translate

-----------

a2x5

(1 row)

  • trim([leading |trailing |both] [characters] from string)

描述:从字符串string的开头、结尾或两边删除只包含characters中字符(缺省是空白)的最长的字符串。

返回值类型:varchar

示例:

gbase=# SELECT trim(BOTH 'x' FROM 'xTomxx');

btrim

-------

Tom

(1 row)

gbase=# SELECT trim(LEADING 'x' FROM 'xTomxx');

ltrim

-------

Tomxx

(1 row)

gbase=# SELECT trim(TRAILING 'x' FROM 'xTomxx');

rtrim

-------

xTom

(1 row)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值