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是兼容的。

时间: 2024-07-30 10:00:11

sql常用格式化函数及字符串函数的相关文章

sql 数学函数and字符串函数and日期函数

一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 SELECT CEIL(1.5) -- 返回2 FLOOR(x) 返回小于或等于x的最大整数 SELECT FLOOR(1.5) -- 返回1 RAND() 返回0->1的随机数 SELECT RAND() --0.93099315644334 RAND(x) 返回0->1的随机数,x值相同时返

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

原文:SQL Server系统函数:字符串函数 1.字符转化为ASCII,把ASCII转化为字符,注意返回的值是十进制数 select ASCII('A'),ASCII('B'),ASCII('a'),ASCII('b'),ASCII('?') select CHAR(65),CHAR(66),CHAR(97),CHAR(98),CHAR(63) 2.unicode字符转化为整数,把整数转化为unicode字符 select UNICODE('A'),UNICODE('B'),UNICODE('

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

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

常用的一些PHP字符串函数

/** 基本的常用的字符串函数 strlen($str) //返回字符串长度  mb_strlen($str) 可以返回中文字符长度 strtolower($str) //字母转小写 strtoupper($str) //字母转大写 ucwords($str) //每个单词的首字母转大写 ucfirst($str) //首字母转大写 str_replace('a','b',$str) //b替换str中的a 区分大小写 str_ireplace('a','b',$str) //替换 不区分大小写

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

本文并不准备介绍全部的oracle函数,当前情势下,俺也还没这个时间,需要学习的东西太多了,要把多数时间花在学习经常能用上的技术方面:),所以如果是准备深入了解所有oracle函数的朋友,还是去关注:Oracle SQL Reference官方文档更靠谱一些. 本文更多将会介绍三思在日常中经常会用到的,或者虽然很少用到,但是感觉挺有意思的一些函数.分二类介绍,分别是: 著名函数篇 -经常用到的函数 非著名函数篇-即虽然很少用到,但某些情况下却很实用 注:N表示数字型,C表示字符型,D表示日期型,

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

SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函数的基本类型是: Aggregate 函数 Scalar 函数 合计函数(Aggregate functions) Aggregate 函数的操作面向一系列的值,并返回一个单一的值. 注释:如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使

SQl Server 函数篇 数学函数,字符串函数,转换函数,时间日期函数

数据库中的函数和c#中的函数很相似 按顺序来, 这里价格特别的 print  可以再消息栏里打印东西 数学函数 ceiling()  取上限   不在乎小数点后面有多大,直接忽略 floor()     取下限   同上 round(列名,保留的位数)   四舍五入   保留小数最后那位数进不进一只看保留位数的后一位数够不够条件,再往后的就不管了 ABS()     绝对值---防抱死233 PI()        圆周率   就是查询一个圆周率 SQRT()平方根 字符串函数 upper()

数据库常用函数大全(数学函数、字符串函数、其他函数)

2 --数学函数 3 select CEILING ( COUNT(*)/5.0) from News--取大于结果的最小整数 4 select floor ( COUNT(*)/5.0) from News--取小于结果的最大整数 5 select SQRT(2)--数值开平方 6 select ROUND(3.45645,2) 7 select abs(-5):绝对值函数,取此数的绝对值,可以应用于数据库中一些比较乱的值的加减操作. 8 9 --字符串函数 10 select LOWER('

必须会的SQL语句(七)字符串函数、时间函数

字符串函数 1.大小写转换 --upper 转化成大写 --lower  转换成小写 select upper('AsaR') 2.长度 --len 字数 --datalength 字节数 3.去除前后空格 --rtrim 去除右边空格 --ltrim  去除左边空格 4.字符串截取 --Left('串',15)  从左侧开始 截取15个字节 --right('串',15) 从右侧开始 截取15个字节 --SubString('串',5,5)  从左侧第5个字节开始,截取5个字节 5.字符串替换