
tran
split
适用于MYSQL
常用format:
大全:
select str_to_date('2021-09-24 16:05:16','%Y-%m-%d %H:%i:%s');
spark sql
to_date(date,fromat)
mysql不支持,spark等大数据框架支持
select to_date('2021-09-24 21:15:37','yyyy-mm-dd hh:mi:ss')
add_months(date,num) 日期操作
适用于spark
不适用于mysql
add_months 有两个参数,第一个参数是日期,第二个参数是对日期进行加减的数字(以月为单位的)
如:查询3个月以前的时间,可以用下列语句
select add_months(2021-09-24,-3);
得到结果是 2021-06-24
coalesce() 函数取值spark sql
mysql
用途:
1.将空值替换成其他值
2.返回第一个非空值
用法:
coalesce(expr1,expr2,…)
依次查看各表达式,遇到非NULL值既停止,并返回该值。
如果所有表达式都是空值,最终返回空值
eg:
select coalesce(null,null,'AAA') ;
得到值 AAA
unix_timestamp() 和 from_unixtime() 日期和时间戳的转换FROM_UNIXTIME(unix_timestamp,format)
将时间戳转换为日期格式
mysql 和 spark 的函数用法不太相同
mysql:
SELECt FROM_UNIXTIME(1632477705,'%Y%m%d %H:%i:%s');
spark:
SELECt FROM_UNIXTIME(1632477705,'yyyyMMdd HH:mm:ss');
UNIX_TIMESTAMP()
将时间格式改为时间戳
mysql 和 spark 用法不同
mysql:
unix_timestamp(date)
SELECt UNIX_TIMESTAMP(NOW());
spark sql:
unix_timestamp(date,format)
select UNIX_TIMESTAMP(NOW(),'yyyyMMdd HHmmss');RegExp 正则
SQL的查询语句中,有时会需要引进正则表达式为其复杂搜索指定模式。
-- 寻找到fruit列含有 'apple'字段的数据 select * from tab1 where fruit regexp 'apple'