一、日期转换相关
1、to_date():datetime改为date
input: select to_date('2018-01-01 23:59:59')
output: ‘2018-01-01’
2、weekofyear() :当年第几周
input: select weekofyear ('2018-01-01')
output: 1
3、datediff(date1,date2) 日期相减,适用于计算两个日期相隔多少天的场景
input: select datediff ('2018-01-02', '2018-01-01')
output: 1
4、date_add(date,days) 日期增加x天,如果days为负数,结果则为日期减x天。
input: select date_add ('2018-01-01', 1)
output: 2018-01-02
5、add_months (date,months) 月份增加x月,如果months为负数,结果则为日期减x月。
input: select add_months ('2018-01-01', 1)
output: 2018-02-01
6、trunc(date, 'mm') 取当月第一天日期
input: select trunc('2019-01-25','mm')
output: 2019-01-01
7、last_day(sysdate( - 1)取当月最后一天
input:select last_day('2019-01-03')
output:2019-01-31
8、year(date)\month(date)\week(date)\day(date) 取日期的年\月\周\日
input:select year('2019-01-03')
output: 2019
二、字符串处理
1、select concat(string1, string1) 字符串连接
input:select concat(3,'%')
output:3%
2、substr(string,start,int) 从第start位开始截取int位字符串内容
input: select ('asdf',2,2)
output:sd
3、split(string1,string2) ,将字符串分割为一个数组,分割符为string2,类似excel里的分列功能。
input: select split ('1123,423,534,65,75,76,57,567',',')---将字符串按逗号分割
output:["1123","423","534","65","75","76","57","567"]
如果想取其中某一列的数据,可用split(string1,string2)[n]获得
input: select split ('1123,423,534,65,75,76,57,567',',')[1]
output:423
4、length() 求一个字符串长度
input: select length(123456)
output:6
网友评论