sql常用格式化函数及字符串函数
一.常用格式化函数
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常用格式化函数及字符串函数的更多相关文章
- SQL函数大全(字符串函数).
SQL Server 2005 函数大全 字符串函数 字符串函数 SubString在SQL和C#中不同, 一,select substring('abcde',-1,3) select LEN( ...
- ORACLE常用数值函数、转换函数、字符串函数介绍
ORACLE常用数值函数.转换函数.字符串函数介绍. 数值函数: abs(m) m的绝对值 mod(m,n) m被n除后的余数 power(m,n) m的n次方 round(m[,n]) m四舍五入至 ...
- SQL Server系统函数:字符串函数
原文:SQL Server系统函数:字符串函数 1.字符转化为ASCII,把ASCII转化为字符,注意返回的值是十进制数 select ASCII('A'),ASCII('B'),ASCII('a') ...
- SQL serve 聚合函数、字符串函数
1.聚合函数 sum,avg,max,min,count having后面只能跟聚合函数 2.数学函数和字符串函数 3.练习: 1)新建一个学生信息表,根据问题写出程序. 2)新建一个超 ...
- SQL server聚合函数、数学函数、字符串函数
一.基础语句 二.数学函数与字符串函数 三.练习 1.创建一个学生信息表,根据要求写出程序 2.新建一个超市表,进了十种商品,个数都是十件
- SQL server 数据库——数学函数、字符串函数、转换函数、时间日期函数
数学函数.字符串函数.转换函数.时间日期函数 1.数学函数 ceiling()--取上限 select ceiling(oil) as 油耗上限 from car floor()--取下限 sele ...
- ORACLE常用数值函数、转换函数、字符串函数
本文更多将会介绍三思在日常中经常会用到的,或者虽然很少用到,但是感觉挺有意思的一些函数.分二类介绍,分别是: 著名函数篇 -经常用到的函数 非著名函数篇-即虽然很少用到,但某些情况下却很实用 注:N表 ...
- PHP常用的数学函数和字符串函数
PHP常用函数总结 数学函数 1.abs(): 求绝对值 $abs = abs(-4.2); //4.2 数字绝对值数字 2.ceil(): 进一法取整 echo ceil(9.999); // 10 ...
- 数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数
SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函 ...
随机推荐
- Java 线程的通讯--生产者和消费者
package 生产者和消费者; //消费者 public class Customer implements Runnable { private Share_resources rescource ...
- py_initialize:C调Python出错 是初始化错误?
还是pythonpath和pythonname变量没有配置正确? py_initialize()方法是什么? In an application embedding Python, this shou ...
- 设计模式08: Composite 组合模式(结构型模式)
Composite 组合模式(结构型模式) 对象容器的问题在面向对象系统中,我们常会遇到一类具有“容器”特征的对象——即他们在充当对象的同时,又是其他对象的容器. public interface I ...
- java -version javac -version 版本不一致
系统先装了jdk1.8 ,环境变量里配置的是jdk1.8,java -version 与javac -version 版本一致. 然后安装了jdk1.7 ,环境变量java_home 改成了1.7,但 ...
- RobotFramework添加自定义关键字实战
背景: 此篇文章是上一篇博客python的requests库怎么发送带cookies的请求的后续,上一篇只是使用python脚本调试通过了,接下来要把我们的方法封装为关键字,在RF中调用. 实施: 一 ...
- Can't install Solaris 10 on XenServer 6.5 VM
I have XenServer 6.5 installed on a server, and i have been trying to install Solaris 10 on a VM, it ...
- SKU:唯一标识填什么
策略 随意填写 只要别和别人重复就好 ,不过重复你也创建不了. 最好填与APP信息相关的,比如直接填写bundle ID 上去...跟套装ID保持一致. 你新建应用的时候都还没有APP ID 你怎么填 ...
- day8学python 各种简单模板
各种简单模板 内容: 1.shelve模板 存储数据 2.shutil 模板 用作拷贝/删除/压缩文件(使用便捷) 3.hashlib 模板 加密文件 4.re模板 ================= ...
- django开发日志配置
做django开发离不开 日志,这用于保存我门的服务器的日志信息,便于开发人员的维护. 直接上代码: 在setting.py文件里直接配置即可 LOGGING = { 'version': 1, 'd ...
- 【bzoj3998】弦论 后缀自动机
Description 对于一个给定长度为N的字符串,求它的第K小子串是什么. Input 第一行是一个仅由小写英文字母构成的字符串S 第二行为两个整数T和K,T为0则表示不同位置的相同子串算作一个. ...