openGauss SQL参考—函数和操作符:字符处理函数和操作符(6)
-
substrb(string,from,count)
描述:该函数和SUBSTR(string,from,count)函数功能一致,但是计算单位为字节。
返回值类型:bytea
示例:
openGauss=# SELECT substrb('ABCDEF',2,2); substrb --------- BC (1 row) -
trim([leading |trailing |both] [characters] from string)
描述:从字符串string的开头、结尾或两边删除只包含characters中字符(缺省是一个空白)的最长的字符串。
返回值类型:text
示例:
openGauss=# SELECT trim(BOTH 'x' FROM 'xTomxx'); btrim ------- Tom (1 row)openGauss=# SELECT trim(LEADING 'x' FROM 'xTomxx'); ltrim ------- Tomxx (1 row)openGauss=# SELECT trim(TRAILING 'x' FROM 'xTomxx'); rtrim ------- xTom (1 row) -
rtrim(string [, characters])
描述:从字符串string的结尾删除只包含characters中字符(缺省是个空白)的最长的字符串。
返回值类型:text
示例:
openGauss=# SELECT rtrim('TRIMxxxx','x'); rtrim ------- TRIM (1 row) -
ltrim(string [, characters])
描述:从字符串string的开头删除只包含characters中字符(缺省是一个空白)的最长的字符串。
返回值类型:text
示例:
openGauss=# SELECT ltrim('xxxxTRIM','x'); ltrim ------- TRIM (1 row) -
upper(string)
描述:把字符串转化为大写。
返回值类型:text
示例:
openGauss=# SELECT upper('tom'); upper ------- TOM (1 row) -
lower(string)
描述:把字符串转化为小写。
返回值类型:text
示例:
openGauss=# SELECT lower('TOM'); lower ------- tom (1 row) -
rpad(string varchar, length int [, fill varchar])
描述:使用填充字符fill(缺省时为空白),把string填充到length长度。如果string已经比length长则将其从尾部截断。
length参数在openGauss中表示字符长度。一个汉字长度计算为一个字符。
返回值类型:varchar
示例:
openGauss=# SELECT rpad('hi',5,'xyza'); rpad ------- hixyz (1 row)openGauss=# SELECT rpad('hi',5,'abcdefg'); rpad ------- hiabc (1 row) -
instr(string,substring[,position,occurrence])
描述:从字符串string的position(缺省时为1)所指的位置开始查找并返回第occurrence(缺省时为1)次出现子串substring的位置的值。
- 当position为0时,返回0。
- 当position为负数时,从字符串倒数第n个字符往前逆向搜索。n为position的绝对值。
本函数以字符为计算单位,如一个汉字为一个字符。
返回值类型:integer
示例:
openGauss=# SELECT instr('corporate floor','or', 3); instr ------- 5 (1 row)openGauss=# SELECT instr('corporate floor','or',-3,2); instr ------- 2 (1 row) -
initcap(string)
描述:将字符串中的每个单词的首字母转化为大写,其他字母转化为小写。
返回值类型:text
示例:
openGauss=# SELECT initcap('hi THOMAS'); initcap ----------- Hi Thomas (1 row) -
ascii(string)
描述:参数string的第一个字符的ASCII码。
返回值类型:integer
示例:
openGauss=# SELECT ascii('xyz'); ascii ------- 120 (1 row) -
replace(string varchar, search_string varchar, replacement_string varchar)
描述:把字符串string中所有子字符串search_string替换成子字符串replacement_string。
返回值类型:varchar
示例:
openGauss=# SELECT replace('jack and jue','j','bl'); replace ---------------- black and blue (1 row) -
lpad(string varchar, length int[, repeat_string varchar])
描述:在string的左侧添上一系列的repeat_string(缺省为空白)来组成一个总长度为n的新字符串。
如果string本身的长度比指定的长度length长,则本函数将把string截断并把前面长度为length的字符串内容返回。
返回值类型:varchar
示例:
openGauss=# SELECT lpad('PAGE 1',15,'*.'); lpad ----------------- *.*.*.*.*PAGE 1 (1 row)openGauss=# SELECT lpad('hello world',5,'abcd'); lpad ------- hello (1 row) -
concat(str1,str2)
描述:将字符串str1和str2连接并返回。
须知:数据库SQL兼容模式设置为MY的情况下,参数str1或str2为NULL会导致返回结果为NULL。
返回值类型:varchar
示例:
openGauss=# SELECT concat('Hello', ' World!'); concat -------------- Hello World! (1 row) openGauss=# SELECT concat('Hello', NULL); concat -------- Hello (1 row)

浙公网安备 33010602011771号