🍋🍋大数据学习🍋🍋
🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。
💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞
1.CAST函数用于将一种数据类型的表达式显式转换为另一种数据类型。它的语法如下:
CAST(expression AS data_type)
其中,expression是任何有效的SQL表达式,data_type是目标数据类型。
CURRENT_DATE 函数是 SQL 中的一个日期/时间函数,用于返回当前的本地日期。它不带任何参数,并且返回的数据类型为 DATE。
3.to_date函数用于将字符串转换为日期类型。与to_date相对应的是to_char函数,它将日期类型转换为字符串类型。这在需要将日期数据转换为特定格式的字符串时非常有用。
SELECT to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') FROM dual; -- 将当前日期转换为字符串
4.LEAD() 函数 是一种窗口函数,允许您从当前行向前查看多行并访问这些行的数据。它对于计算同一结果集中当前行和后续行之间的差异非常有用。与 LAG() 函数类似,LEAD() 函数可以帮助我们在查询结果中进行行间偏移。
语法:
LEAD(<expression>[, offset[, default_value]]) OVER (PARTITION BY <expr> ORDER BY <expr>)
expression: LEAD() 函数返回的值。
offset: 从当前行向前的行数,必须是非负整数。如果省略,默认值为 1。
default_value: 如果没有后续行,则返回的默认值。如果未指定,默认返回 NULL。
5.concat函数用于将多个字符串连接成一个字符串。如果有任何一个参数为NULL,则返回值为NULL。
示例
SELECT CONCAT('Hello', ' ', 'World') AS result;
-- 结果: Hello World
CONCAT_WS函数
CONCAT_WS函数是CONCAT的特殊形式,用于在连接字符串时指定分隔符。第一个参数是分隔符,后面的参数是要连接的字符串。
示例
SELECT CONCAT_WS('-', '2023', '08', '15') AS result;
-- 结果: 2023-08-15
注意事项
CONCAT函数如果有任何一个参数为NULL,则返回值为NULL。
CONCAT_WS函数会忽略任何分隔符参数后的NULL值,但不会忽略空字符串。
1、RANK()
在计算排序时,若存在相同位次,会跳过之后的位次。
例如,有3条排在第1位时,排序为:1,1,1,4······
2、DENSE_RANK()
这就是题目中所用到的函数,在计算排序时,若存在相同位次,不会跳过之后的位次。
例如,有3条排在第1位时,排序为:1,1,1,2······
7.date_format函数用于格式化日期时间,将日期按照指定的格式输出。这个函数非常有用,尤其是在处理大数据时,需要将日期转换为特定格式以便于分析和展示。
语法:
date_format(date, format):
其中date参数是合法的日期,format参数是规定日期输出的格式。
8.在使用DATEDIFF函数时,你需要指定三个参数:datepart、startdate和enddate。datepart参数决定了返回值的时间单位,可以是年(year)、季度(quarter)、月(month)、周(week)、日(day)、小时(hour)、分钟(minute)、秒(second)等。startdate和enddate则是你要比较的两个日期。
以下是一些DATEDIFF函数的使用示例:
-- 计算两个日期之间相差的年数
SELECT DATEDIFF(year, '2010-12-31', '2019-01-01') AS YearDiff;
-- 计算两个日期之间相差的月数
SELECT DATEDIFF(month, '2018-01-01', '2019-01-01') AS MonthDiff;
9.TRUNC 函数也可以用于截断日期到指定的时间单位。其语法格式如下:
TRUNC(date, [fmt])
date:需要截断的日期。
fmt:指定截断的时间单位,默认为天。
常见的时间单位包括:
'YYYY':截断到年。
'MM':截断到月。
'DD':截断到天。
'HH':截断到小时。
'MI':截断到分钟。
10.EXTRACT() 函数的基本用法:
EXTRACT() 函数接受两个参数:时间单位和要从中提取的日期时间值。
时间单位可以是年份 (YEAR)、月份 (MONTH)、日期 (DAY)、小时 (HOUR)、分钟 (MINUTE)、秒钟 (SECOND) 等等。
返回提取出的指定时间单位的值。