sql学习笔记(三)

本文介绍了SQL中的四舍五入、向上取整和向下取整函数,Hive分区提高查询效率的方法,以及case_when条件语句、日期函数(如date_format、datediff等)、字符串函数和窗口函数(如row_number、lag和lead)的应用。
摘要由CSDN通过智能技术生成

目录

1.四舍五入

2.向上取整

3.向下取整

4.Hive 分区

5.case when条件语句

6.日期函数

7.字符串函数

8.窗口函数

1️⃣排序函数


1.四舍五入

round

select round(3.14) —>3
2.向上取整

ceiling

select ceiling(12.15) —>13
3.向下取整

floor

select floor(12.56) —>12
4.Hive 分区

随着系统运行时间的增加,表的数据量会越来越大,而Hive查询数据的数据的时候通常使用的是「全表扫描」,这样将会导致大量不必要的数据进行扫描,从而查询效率会大大的降低。 从而Hive引进了分区技术,使用分区技术,「避免Hive全表扫描,提升查询效率」

5.case when条件语句

注:不要忘记写then和end。

语法一:

CASE 字段 

WHEN 值1 THEN 值1

[WHEN 值2 THEN 值2]*

[ELSE 值] 

END 

语法二:

CASE 

WHEN 条件表达式 THEN 值1

[WHEN 条件表达式 [and or] 条件表达式THEN 值2]*

[ELSE 值] 

END 
6.日期函数

链接🔗:https://www.cnblogs.com/ShadowFiend/p/12888055.html

1️⃣date_format

释义:格式化日期

用法:date_format(date,格式)

2️⃣date_add

释义:日期加法函数,数字为正,则加多少天,若数字为负数,则为减多少天;

用法:date_add(date,number);

3️⃣date_sub

释义:日期减法函数,数字为正,则减多少天,若数字为负数,则为加多少天

用法:date_sub(date,number)

4️⃣datediff

释义:日期比较函数,第一个日期减去第二个时期数字,为正,则前者大于后者,为负,则前者小于后者;

用法:datediff(date1,date2)

5️⃣current_timestamp

释义:获取当前时间

6️⃣current_date

释义:获取当前日期

7️⃣to_date

释义:转日期函数,默认转为yyyy-MM-dd格式

用法:to_date(time)

8️⃣year

释义:获取时间的年份

用法:year(date)

9️⃣month

释义:获取时间的月份

用法:month(date)

🔟day

释义:获取时间的天

用法:day(date)

11.Trunc

TRUNC(NUMBER)表示截断数字,TRUNC(date)表示截断日期

-返回当月的第一天

select trunc('2016-08-16','MM') --2016-08-01

-返回当年的第一天

select trunc('2016-08-16','YEAR') --2016-01-01

时间戳与日期函数转化

7.字符串函数

链接🔗:https://blog.csdn.net/qq_44011386/article/details/108364509

  1. 转换数据类型Cast
  2. 拼接字符串concat(string A, string B…)
  3. 带连接符的拼接字符串concat_ws(string SEP, string A, string B…)
  4. 翻转字符串reverse(string A)
  5. 字符串长度length(string A)
  6. 截取字符串substr(string A, int start),substring(string A, int start)
  7. 截取字符串substr(string A, int start, int len),substring(string A, int start, int len)
  8. 转换为大写upper(string A) ucase(string A)
  9. 转换为小写lower(string A) lcase(string A)
  10. 去除空格trim(string A)
  11. 去除左边电空格ltrim(string A)
  12. 去除右边空格rtrim(string A)
  13. 正则表达式提取字符串regexp_extract(string subject, string pattern, int index)
  14. 从链接中提取部分parse_url(url, partToExtract[, key]) - extracts a part from a URL
  15. get_json_object(string json_string, string path)
  16. 分割字符串split(string str, string pat)
8.窗口函数
<窗口函数> OVER ([PARTITION BY <列清单>] ORDER by <排序用列清单>)
1️⃣row_number/rank/dense_rank函数

row_number

rank

dense_rank

2️⃣lag/lead函数

SQL中lag()和lead()函数使用_lag函数-CSDN博客

LAG

LEAD

3️⃣MySQL数据库查询时间段的两种方法

between and和 "><符号"

链接🔗:查询某时间范围内的数据SQL语句_sql查询时间段内的数据-CSDN博客

9. with as用法

可看作是生成一个临时表,后续可调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值