四时宝库

程序员的知识宝库

gaussdb200 常用函数

字符操作函数

  • length(string bytea, encoding name )

描述:指定encoding编码格式的string的字符数。在这个编码格式中,string必须是有效的。

返回值类型:int

SELECT length('jose', 'UTF8');
/*
length 
--------
    4
(1 row)
*/
  • substring(string [from int] [for int])

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

返回值类型:text

-- 从第二个开始截取 共截取三个
SELECT substring('Thomas' from 2 for 3);
/*
substring 
-----------
hom
(1 row)
*/
-- 正则截取
SELECT substring('Thomas of' from '.+om');
/*
substring 
-----------
Thom
(1 row)
*/
  • repeat(string text, number int )

描述:将string重复number次。

返回值类型:text

SELECT repeat('hei',2);
/*
repeat 
--------
heihei
(1 row)
*/
  • replace(string text, from text, to text)

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

返回值类型:text

SELECT replace('abcdefabcdef', 'cd', 'XXX');
/*
  replace     
----------------
abXXXefabXXXef
(1 row)
*/
  • reverse(string text)

描述:字符串反转

返回值类型:text

SELECT reverse('abcdefg');
/*
reverse 
---------
gfedcba
(1 row)
*/
  • substr(string,from)

描述:

从参数string中抽取子字符串。

from表示抽取的起始位置。

  • from为0时,按1处理。
  • from为正数时,抽取从from到末尾的所有字符。
  • from为负数时,抽取字符串的后n个字符,n为from的绝对值。

返回值类型:varchar

SELECT substr('ABCDEF',2);
/*
substr 
--------
BCDEF
(1 row)
*/
SELECT substr('ABCDEF',-2);
/*
substr 
--------
EF
(1 row)
*/
  • upper(string)

描述:把字符串转化为大写。

返回值类型:varchar

SELECT upper('tom');
/*
upper
-------
TOM
(1 row)
*/
  • Lower(string)

描述:把字符串转化为小写。

返回值类型:varchar

SELECT upper('tom');
/*
upper
-------
TOM
(1 row)
*/
  • concat(str1,str2)

描述:将字符串str1和str2连接并返回。

返回值类型:varchar

SELECT concat('Hello', ' World!');
/*
concat    
--------------
Hello World!
(1 row)
*/
SELECT concat('Hello', ' World!',null);
/*
  concat    
--------------
Hello World!
(1 row)
*/

concat_ws(sep text, str"any" [, str"any" [, ...] ])

描述:以第一个参数为分隔符,链接第二个以后的所有参数。

返回值类型:text

SELECT concat_ws('_','Hello', 'World');
/*
concat_ws  
-------------
Hello_World
(1 row)
*/
SELECT concat_ws('_','Hello', 'World',null);
/*
concat_ws  
-------------
Hello_World
(1 row)
*/
  • md5(string)

描述:将string使用MD5加密,并以16进制数作为返回值。

返回值类型:text

SELECT md5('ABC');
/*
             md5                
----------------------------------
902fbdd2b1df0c4f70b4a5d23525e932
(1 row)
*/

时间日期函数

  • age(timestamp, timestamp)

描述:将两个参数相减,并以年、月、日作为返回值。若相减值为负,则函数返回亦为负。

返回值类型:interval

SELECT age(timestamp '2001-04-10', timestamp '1957-06-13');
/*
         age           
-------------------------
43 years 9 mons 27 days
(1 row)
*/
  • age(timestamp)

描述:当前时间和参数相减。

返回值类型:interval

SELECT age(timestamp '1957-06-13');
/*
         age            
--------------------------
63 years 11 mons 26 days
(1 row)
*/
  • clock_timestamp()

描述:实时时钟的当前时间戳。

返回值类型:timestamp with time zone

SELECT clock_timestamp();
/*
      clock_timestamp        
-------------------------------
2021-06-09 01:24:36.726657-07
(1 row)
*/
  • current_date

描述:当前日期。

返回值类型:date

SELECT current_date;
/*
  date    
------------
2021-06-09
(1 row)
*/
  • current_time

描述:当前时间。

返回值类型:time with time zone

SELECT current_time;
/*
     timetz       
--------------------
01:26:04.553669-07
(1 row)
*/
  • current_timestamp

描述:当前日期及时间。

返回值类型:timestamp with time zone

SELECT current_timestamp;
/*
      pg_systimestamp        
-------------------------------
2021-06-09 01:26:55.812076-07
(1 row)
*/
  • date_part(text, timestamp)

描述:获取小时的值。

等效于extract(field from timestamp)。

返回值类型:double precision

SELECT date_part('hour', timestamp '2001-02-16 20:38:40');
/*
date_part 
-----------
      20
(1 row)
*/
SELECT date_part('day', timestamp '2001-02-16 20:38:40');
/*
date_part 
-----------
      16
(1 row)
*/
SELECT date_part('month', timestamp '2001-02-16 20:38:40');
/*
date_part 
-----------
       2
(1 row)
*/
SELECT date_part('year', timestamp '2001-02-16 20:38:40');
/*
date_part 
-----------
    2001
(1 row)
*/
  • trunc(timestamp)

描述:默认按天截取。

trunc(float)的时候则为取整数部分(不进行四舍五入计算)

SELECT trunc(timestamp  '2001-02-16 20:38:40');
/*
      trunc        
---------------------
2001-02-16 00:00:00
(1 row)
*/
SELECT trunc(1.522);
/*
trunc 
-------
   1
(1 row)
*/
  • localtime

描述:当前时间。

返回值类型:time

SELECT localtime;
/*
    time       
-----------------
01:46:21.961536
(1 row)
*/
  • localtimestamp

描述:当前日期及时间。

返回值类型:timestamp

SELECT localtimestamp;
/*
       timestamp          
----------------------------
2021-06-09 01:46:13.423419
(1 row)
*/

海汼部落原创文章,原文链接:(http://hainiubl.com/topics/75658)

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接