常用sql函数

常用日期函数
UNIX_TIMESTAMP:返回当前或指定时间的时间戳
SELECT UNIX_TIMESTAMP(‘2018-08-08 08:08:08’)
SELECT UNIX_TIMESTAMP(‘2018/08/08 08/08/08’,‘yyyy/MM/dd HH/mm/ss’)
from_unixtime:将时间戳转为日期格式
SELECT FROM_UNIXTIME(1533715688);
current_date:当前日期
SELECT CURRENT_DATE();
current_timestamp:当前的日期加时间
SELECT CURRENT_TIMESTAMP();
to_date:抽取日期部分
SELECT to_date (‘2018-08-08 08:08:08’);
year:获取年
SELECT YEAR (‘2018-08-08 08:08:08’);
month:获取月
SELECT MONTH (‘2018-08-08 08:08:08’);
day:获取日
SELECT DAY (‘2018-08-09 08:08:08’);
hour:获取时
SELECT HOUR (‘2018-08-09 10:11:12’);
minute:获取分
SELECT MINUTE (‘2018-08-09 10:11:12’);
second:获取秒
SELECT SECOND (‘2018-08-09 10:11:12’);
weekofyear:当前时间是一年中的第几周
SELECT WEEKOFYEAR (‘2018-08-08 10:11:12’);
dayofmonth:当前时间是一个月中的第几天
SELECT DAYOFMONTH (‘2018-08-31 10:11:12’);
months_between: 两个日期间的月份
SELECT months_between(‘2018-08’,‘2019-07’);
add_months:日期加减月
SELECT add_months (‘2018-08-08’,-7);
datediff:两个日期相差的天数
SELECT DATEDIFF (‘2018-08-08’,‘2018-08-09’);
date_add:日期加天数
SELECT DATE_ADD (‘2018-08-08’,-3);
date_sub:日期减天数
SELECT DATE_SUB (‘2018-08-08’,-3);
last_day:日期的当月的最后一天
SELECT LAST_DAY (‘2018-08-09’)
DATE_FORMAT : 按指定格式返回日期
SELECT DATE_FORMAT (‘2018-08-08 08:08:08’,‘yyyy/MM/dd’ );

常用取整函数
round: 四舍五入
SELECT ROUND(1.9);
ceil: 向上取整
SELECT CEIL (1.1);
floor: 向下取整
SELECT FLOOR(1.9 );

常用字符串操作函数
upper: 转大写
SELECT UPPER (‘ddddd’);
lower: 转小写
SELECT LOWER (‘DDDD’);
length: 长度
SELECT LENGTH(‘dddd’);
trim: 前后去空格
SELECT TRIM (’ ccc ddd ‘);
lpad: 向左补齐,到指定长度
SELECT LPAD(‘aaaa’,10,’’);
rpad: 向右补齐,到指定长度
SELECT RPAD(‘aaaa’,10,’
’);
regexp_replace: SELECT regexp_replace(‘100-200’, ‘(\d+)’, ‘num’) ;
使用正则表达式匹配目标字符串,匹配成功后替换!
SELECT regexp_replace(‘100-200’, ‘-’, ‘/’); --拿来面试的时候用

集合操作
size: 集合中元素的个数
SELECT size(friends) FROM test;
map_keys: 返回map中的key
SELECT size(map_keys(children)) FROM test;
map_values: 返回map中的value
SELECT map_values(children) FROM test;
array_contains: 判断array中是否包含某个元素
SELECT array_contains(friends,‘d’);
sort_array: 将array中的元素排序
SELECT sort_array(array(1,3,7,4,8));
SELECT sort_array(array(‘a’,‘v’,‘b’,‘q’,‘t’));

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值