文章目錄
- 聚合類
- 1.指定列值的數目
- 2.指定列值求和
- 3.最大值
- 4.最小值
- 5.平均值
- 6.中位數函數
- 7.分位數函數
- 數值類
- 1.取整函數Round(a)
- 2.指定精度取整ROUND(double a,int b)
- 3.向上取整FLOOR()
- 4.向下取整CEIL()
- 5.隨機數 rand()
- 6.絕對值函數
- 日期類
- 獲取當前日期
- 獲取當前時間戳
- 日期前后
- 日期間隔
- bigint類型的時間戳
- 日期轉換函數, 只保留 年月日
- 日期 提取函數
- 獲取年份
- 提取月份
- 字符串
- 計算長度
- 截取
- 大寫
- 小寫
- 去除空格
- 獲取url中的域名
- 獲取搜索內容
- 字符串分割
- 從map中取值
- 從string類型的k-v中取值
聚合類
1.指定列值的數目
count()
2.指定列值求和
sum()
3.最大值
max()
4.最小值
min()
5.平均值
avg()
6.中位數函數
percentile(bigint col,p)
7.分位數函數
percentile(bigint col,0.5)
數值類
1.取整函數Round(a)
select rount(99.4567)
四舍五入計算
2.指定精度取整ROUND(double a,int b)
取b位小數四舍五入
3.向上取整FLOOR()
4.向下取整CEIL()
5.隨機數 rand()
值從0-1
6.絕對值函數
abs()
日期類
獲取當前日期
select CURRENT_DATE
2024-07-03
獲取當前時間戳
select CURRENT_TIMESTAMP #### 2024-07-03 11:11:04
日期前后
select date_sub(CURRENT_DATE,1)
select date_add(CURRENT_DATE,1)
日期間隔
select datediff(CURRENT_DATE,'1991-10-04')
select datediff('2024-05-01','1991-10-04')
bigint類型的時間戳
select unix_timestamp('2020-10-01 00:00:00')
1601510400(秒): 從 1970-01-01 00:00:00 到 2020-10-01 00:00:00 過了多少秒
select unix_timestamp()
將 bigint 類型的時間戳轉換成 我們想要的日期格式
select from_unixtime(1719976610,'yyyy-MM-dd hh:mm:ss')select from_unixtime(1719976610,'yyyy-MM')
日期轉換函數, 只保留 年月日
select to_date('2024-04-09 10:09:45')
日期 提取函數
year | month | day | hour | minute
獲取年份
select substr('2024-04-09 10:09:45',1,4)
select year('2024-04-09 10:09:45')
提取月份
select substr('2024-04-09 10:09:45',6,2)
select month('2024-04-09 10:09:45')
字符串
計算長度
select length("abcde")
截取
substr()
大寫
upper
小寫
lower
去除空格
trim
獲取url中的域名
parse_url
select parse_url('https://editor.csdn.net/md?not_checkout=1','HOST')
會返回
editor.csdn.net
獲取搜索內容
parse_url
select parse_url('https://editor.csdn.net/md?not_checkout=1','QUERY')
會返回
not_checkout=1
字符串分割
select split('abc,xyz,yyy',',')
從map中取值
select extra2['systemtype'] from user_info
從string類型的k-v中取值
select get_json_object(extra1,'$.systemtype') from user_info