栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

刷SQL题用到的一些函数

刷SQL题用到的一些函数

刷SQL题用到的一些函数

前言一、日期相关函数

1、获取年月日2、日期时间戳转化3、日期之差4、日期格式化5、日期加减 二、数据格式相关函数

1、保留小数 三、字符串相关函数

1、字符串拼接

前言

在这里记录下刷SQL题用到的函数(逐渐积累)


一、日期相关函数 1、获取年月日

1)获取年份:select year(CURRENT_DATE) AS 年 ;
2)获取月份:select month(CURRENT_DATE) AS 月;
3)获取日   :select day(CURRENT_DATE) AS 日;

2、日期时间戳转化

1)日期转化为时间戳:SELECT UNIX_TIMESTAMP(NOW()); // 1539238930
2)时间戳转化为日期:SELECT FROM_UNIXTIME(1539238971); // 2018/10/11 14:22:51

3、日期之差

1)日期相差 TIMESTAMPDIFF(unit,begin,end);
这个函数返回end-begin的结果,begin和end类型为DATE或者DATETIME表达式,unit为结果的单位,表示为整数。

参数单位
SECOND
MINUTE分钟
HOUR小时
DAY
WEEK月份
MONTH月份
YEAR年份
4、日期格式化

1)data_format格式化为想要的格式
Mysql中:

select * from test where date_format(create_time,'%Y-%m-%d') = '2020-11-04' ;

Hive中:

select * from test where date_format(create_time,'yyyy-MM-dd') = '2020-11-04' ;
5、日期加减

1)MySQL中:DATE_ADD(date,INTERVAL expr type)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。

2)Hive中:date_add(string startdate, intdays)
返回开始日期startdate增加days天后的日期。

二、数据格式相关函数 1、保留小数

1)round(x,d):x是要进行处理的数,d是保留的小数位数,round(x)默认不保留小数
2)cast(score as decimal(10,3)):强制把score的类型转化为decimal(10,3),最多存储10位数字,小数为3位,即-9999999.999~9999999.999

三、字符串相关函数 1、字符串拼接

1)CONCAt(string A, string B…):参数可以为多个字符串,返回结果是一个字符串。PS:求比率时可以加%使用。
2)CONCAT_Ws(separator, str1, str2,...):第一个参数是多个字符串之间的分隔符。
如果分隔符是 NULL,返回值也将为 NULL。这个函数会跳过分隔符参数后的任何 NULL 和空字符串。分隔符将被加到被连接的字符串之间

Hive> SELECT CONCAT_WS(",","First name","Second name","Last Name");

 'First name,Second name,Last Name'
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/775084.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号