sql常用格式化函数及字符串函数

Posted koushr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql常用格式化函数及字符串函数相关的知识,希望对你有一定的参考价值。

一.常用格式化函数

1.日期转字符串

select to_char(current_timestamp, ‘YYYY-MM-DD HH24:MI:SS‘)  //2017-09-18 22:41:50

YYYY:年(4和更多位)

MM:月份号(01-12)

DD:一个月里的日(01-31)

HH24:一天的小时数(00-23)

MI:分钟(00-59)

SS:秒(00-59)

2.字符串转日期

select to_date(‘2017-09-18‘,‘YYYY-MM-DD‘)  //2017-09-18,to_date函数返回日期

select to_timestamp(‘2017-09-18 22:41:50‘,‘YYYY-MM-DD HH24:MI:SS‘)  //2017-09-18 22:41:50,to_timestamp函数返回日期时间

3.数字转字符串

select 123.45 || ‘‘  //得到‘123.45‘字符串

4.字符串转数字

select ‘123.45‘ :: numeric num  //得到123.45,java类型为BigDecimal类型

select ‘123.45‘ :: double precision num  //得到123.45,java类型为Double类型

:: numeric 及 :: double precision 可以转换 null,但不能转换空字符串(sql会报错)

select null :: numeric num  //得到null

select null :: double precision num  //得到null

二.常用字符串函数

1.字符串拼接

select ‘ab‘ || ‘c‘  //得到‘abc‘字符串

2.字串里二进制位的个数(1个字节等于8位)

select bit_length(‘abc‘)  //得到24

1个英文字符占1个字节,3个英文字符占3个字节,24位

select bit_length(‘中国人‘)  //得到72

1个中文字符占3个字节,3个中文字符占9个字节,72位

3.字符串的长度

select length(‘abc‘)   //得到3

select length(‘中国人‘)  //得到3

4.字符串替换

按索引位置替换:

select overlay(‘Txxas‘ placing ‘om‘ from 2 for 2)  //得到’Tomas‘字符串

overlay本身就是“覆盖“的意思

from后面的整数表示索引,从哪里开始替换。这里的索引从1开始,即第一个字符索引为1。如果from省略的话,表示从第一个字符开始替换

for后面的整数表示替换多少个字符。for不能省略

按字符串匹配替换:

select replace(‘Txxas‘, ‘xx‘, ‘om‘)  //得到‘Tomas‘字符串

如果可以匹配到多个子字符串,则会全部替换

5.取子字符串的位置

select position(‘om‘ in ‘Thomas‘)  //得到3

如果返回0,则表示不存在此子字符串。

6.取子字符串

select substring(‘Tomas‘ from 2 for 2)  //得到‘om‘字符串

from和for的含义同overlay()函数的一样

7.删除字符串的开头/结尾/两边的某字符,返回剩下的字符串

select trim([leading | trailing | both] ‘x‘ from ‘xabcx‘)  //如果是leading的话,得到‘abcx‘字符串;如果是trailing的话,得到‘xabc‘字符换;如果是both或者不写的话,得到‘abc‘字符串

select trim(‘   abc   ‘)  //删除两边的空字符,得到‘abc‘字符串

8.字符串分割

select split_part(‘ab,bc,cd,de‘, ‘,‘, 1)  //得到‘ab‘字符串

将‘ab,bc,cd,de‘字符串按逗号分割,返回第1个字符串。

以上函数对postgresql是兼容的。

 

以上是关于sql常用格式化函数及字符串函数的主要内容,如果未能解决你的问题,请参考以下文章

SQL 常用高级函数大全

SQL 常用高级函数大全

SQL 常用高级函数大全

hive sql的常用日期处理函数总结

MySQL常用的数据类型及函数_20160920

MySQL常用SQL 函数有哪些?