gaussdb的截取、替换、反转、左右截取,定位函数

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

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

    返回值类型:text

    示例:

    1
    2
    3
    4
    5
    gaussdb=# SELECT replace('abcdefabcdef', 'cd', 'XXX');
        replace     
    ----------------
     abXXXefabXXXef
    (1 row)
    
  • replace(string, substring)

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

    string类型:text

    substring类型:text

    返回值类型:text

    示例:

    1
    2
    3
    4
    5
    gaussdb=# SELECT replace('abcdefabcdef', 'cd');
        replace     
    ----------------
     abefabef
    (1 row)
    
  • reverse(str)

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

    返回值类型:text

    示例:

    1
    2
    3
    4
    5
    gaussdb=# SELECT reverse('abcde');
     reverse
    ---------
     edcba
    (1 row)
    
  • right(str text, n int)

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

    返回值类型:text

    示例:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    gaussdb=# SELECT right('abcde', 2);
     right
    -------
     de
    (1 row)
    
    gaussdb=# SELECT right('abcde', -2);
     right 
    -------
     cde
    (1 row)
    
  • SELECT left('abcdefabcdef',2)

  • 定位

SELECT position('g' in 'string');

  • position(substring in string)

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

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

    示例:

    1
    2
    3
    4
    5
    gaussdb=# SELECT position('ing' in 'string');
     position
    ----------
            4
    

累加

  •  
            
    gaussdb=# SELECT concat('Hello', ' World!');
        concat    
    --------------
     Hello World!
    (1 row)
    gaussdb=# SELECT concat('Hello', NULL);
     concat
    --------
     Hello
    (1 row)
  • gaussdb=# SELECT concat_ws(',', 'ABCDE', 2, NULL, 22);
     concat_ws
    ------------
     ABCDE,2,22
    (1 row)
    
  • substr(bytea,from,count)

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

    返回值类型:text

    示例:

    1
    2
    3
    4
    5
    gaussdb=# SELECT substr('string',2,3);
     substr
    --------
     tri
    (1 row)
    
  • string || string

    描述:连接字符串。

    返回值类型:text

  • rtrim(string [, characters])

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

    返回值类型:text

    示例:

    1
    2
    3
    4
    5
    gaussdb=# SELECT rtrim('TRIMxxxx','x');
     rtrim
    -------
     TRIM
    (1 row)
    
  • ltrim(string [, characters])

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

    返回值类型:text

    示例:

    1
    2
    3
    4
    5
    gaussdb=# SELECT ltrim('xxxxTRIM','x');
     ltrim
    -------
     TRIM
    (1 row)
    
  • find_in_set(text, set)

    描述:查找给定成员在集合中的位置,从1开始计数。如果没有找到,返回0。

    返回值类型:int2

    示例:

    1
    2
    3
    4
    5
    6
    gaussdb=# select site, find_in_set('wuhan', site) from employee;  
          site       | find_in_set 
    -----------------+-------------
     beijing,nanjing |           0
     beijing,wuhan   |           2
    (2 rows)
    

 

 

你可能感兴趣的:(sql,数据库)