一.常用格式化函数

1.日期转字符串

select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS')

YYYY:年份

MM:月份号(01-12)

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

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

MI:分钟(00-59)

SS:秒(00-59)

格式化格式可以由以上英文字母任意搭配,如可以是'YYYY-MM-DD HH24:MI:SS',也可以是'YYYY-MM-DD',也可以是'YYYYMMDD'。

2.字符串转日期

select to_date('2017-09-18','YYYY-MM-DD') 

select to_timestamp('2017-09-18 22:41:50','YYYY-MM-DD HH24:MI:SS')

待解析的字符串可以包含时分秒,也可以不包含时分秒。

解析格式同样可以任意指定。

to_date只会取到日期,不会取到时分秒,时间是该日的0点0分0秒,而不管待解析的字符串中时分秒是什么。

to_timestamp会取到具体时分秒,如果待解析的字符串中只有日期,没有时分秒,则时间也是该日的0点0分0秒。

3.数字转字符串

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

select to_char(123.5, '999999999999.9')  //得到‘123.5’

select to_char(123.5 , '9999999999999')  //得到’124‘

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常用格式化函数及字符串函数的更多相关文章

  1. SQL函数大全(字符串函数).

    SQL Server 2005  函数大全 字符串函数 字符串函数 SubString在SQL和C#中不同, 一,select  substring('abcde',-1,3) select LEN( ...

  2. ORACLE常用数值函数、转换函数、字符串函数介绍

    ORACLE常用数值函数.转换函数.字符串函数介绍. 数值函数: abs(m) m的绝对值 mod(m,n) m被n除后的余数 power(m,n) m的n次方 round(m[,n]) m四舍五入至 ...

  3. SQL Server系统函数:字符串函数

    原文:SQL Server系统函数:字符串函数 1.字符转化为ASCII,把ASCII转化为字符,注意返回的值是十进制数 select ASCII('A'),ASCII('B'),ASCII('a') ...

  4. SQL serve 聚合函数、字符串函数

    1.聚合函数 sum,avg,max,min,count        having后面只能跟聚合函数 2.数学函数和字符串函数 3.练习: 1)新建一个学生信息表,根据问题写出程序. 2)新建一个超 ...

  5. SQL server聚合函数、数学函数、字符串函数

    一.基础语句 二.数学函数与字符串函数 三.练习 1.创建一个学生信息表,根据要求写出程序 2.新建一个超市表,进了十种商品,个数都是十件

  6. SQL server 数据库——数学函数、字符串函数、转换函数、时间日期函数

    数学函数.字符串函数.转换函数.时间日期函数 1.数学函数 ceiling()--取上限  select ceiling(oil) as 油耗上限 from car floor()--取下限 sele ...

  7. ORACLE常用数值函数、转换函数、字符串函数

    本文更多将会介绍三思在日常中经常会用到的,或者虽然很少用到,但是感觉挺有意思的一些函数.分二类介绍,分别是: 著名函数篇 -经常用到的函数 非著名函数篇-即虽然很少用到,但某些情况下却很实用 注:N表 ...

  8. PHP常用的数学函数和字符串函数

    PHP常用函数总结 数学函数 1.abs(): 求绝对值 $abs = abs(-4.2); //4.2 数字绝对值数字 2.ceil(): 进一法取整 echo ceil(9.999); // 10 ...

  9. 数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数

    SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函 ...

随机推荐

  1. oracle数据库之分组查询

    本章内容和大家分享的是数据当中的分组查询.分组查询复杂一点的是建立在多张表的查询的基础之上,(我们在上一节课的学习中已经给大家分享了多表查询的使用技巧,大家可以自行访问:多表查询1  多表查询2)而在 ...

  2. MongoDB整理笔记の指定命令和指定文件

    MongoDB shell 不仅仅是一个交互式的shell,它也支持执行指定javascript 文件,也支持执行指定的命令片断.有了这个特性,就可以将MongoDB 与linux shell 完美结 ...

  3. 关于JAVA数组的几点注意事项与一些低级错误

    1.数组不是集合,它只能保存同种类型的多个原始类型或者对象的引用.数组保存的仅仅是对象的引用,而不是对象本身. 2.数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型 ...

  4. HackTen 格式化TextView的文本

    1.概要:     TextView是Android提供的一个简单却功能强大的UI控件.读者可以在应用程序中通过多种方法使用不同样式的文本. 监管TextView并不支持所有HTML标签,但是用于格式 ...

  5. Jquery Plugins Jquery Validate

      Jquery Validate 一.什么是Jquery Validate: jQuery Validate 插件为表单提供了强大的验证功能. 二.常用值: 1 required:true 必须输入 ...

  6. 多态的作用-游戏编程展示------新标准c++程序设计

    游戏软件的开发最能体现面向对象设计方法的优势.游戏中的人物.道具.建筑物.场景等都是很直观的对象,游戏运行的过程就是这些对象相互作用的过程.每个对象都有自己的属性和方法,不同对象也可能有共同的属性和方 ...

  7. 《Servlet和jsp学习指南》 笔记1

    chapter 1 Servlet 4个java 包: 对于每一个http请求,Servlet请求都会创建一个ServletRequest实例,并将它传给Servlet的service方法.Servl ...

  8. 异常上报功能Bugly简介

    目的:为了能够快速定位到线上版本bug位置,经过比较之后,决定使用腾讯家的Bugly. 1.注册产品 官方文档使用指南 1.1 登录 - 使用 QQ 登录Bugly官网 没有账号就注册,要实名就实名, ...

  9. Java面向对象之USB接口实例

    一.需求: 1.在电脑上设置一个USB接口. 2.电脑运行时,将鼠标连接到接口上,鼠标可以使用自己的功能. 3.电脑运行时,将键盘连接到接口上,键盘可以使用自己的功能.(使用接口的作用:减低鼠标.键盘 ...

  10. IPython绘图和可视化---matplotlib 入门

    最近总是需要用matplotlib绘制一些图,由于是新手,所以总是需要去翻书来找怎么用,即使刚用过的,也总是忘.所以,想写一个入门的教程,一方面帮助我自己熟悉这些函数,另一方面有比我还小白的新手可以借 ...