Spark-SQL常用的时间处理函数

Spark-SQL常用的时间处理函数

Spark-SQL函数对大小写不敏感
姊妹篇:Mysql常用时间处理函数

  • year
select year('2018-03-03 20:30:34'); // 2018
  • month
select month('2018-03-03 20:30:34'); // 3
  • weekOfYear
select weekOfYear('2018-03-03 20:30:34'); // 9
  • dayOfYear
select dayOfYear('2018-03-03 20:30:34'); // 62
  • unixTimestamp
select unix_timestamp('2018-03-03 20:30:34'); // 1520080234
  • parseToDay
select substring(now(), 1, 10); // 2018-03-06
  • yesterday
select substring(date_sub(now(), 1), 1, 10); // 2018-03-05
  • firstDayOfLastMonth
select concat(substring(add_months(now(), -1), 1, 7), '-01 00:00:00'); // 2018-02-01 00:00:00【与mysql不同】
  • firstDayOfThisMonth
select concat(substring(now(), 1, 7), '-01 00:00:00'); // 2018-03-01 00:00:00
  • strToDate
select cast(unix_timestamp('03/13/2018 01:59:20', 'MM/dd/yyyy mm:ss:HH') as timestamp); // 2018-03-13 20:01:59【与mysql不同】
  • nowOnYear
select year(now()); // 2018
  • 时间运算
select date_add(now(), 1); // 2018-03-14【加一天】
select date_sub(now(), 1); // 2018-03-12【减一天】
select add_months(now(), 1); // 2018-04-13【加一月】
select add_months(now(), -1); // 2018-02-13【减一月】

附:Spark-SQL的时间格式【与java一致】

- yyyy:年份,如2018 - MM:月份,如03 - dd:日期,如06 - HH:小时,如20 - mm:分钟,如30 - ss:秒数,如45

你可能感兴趣的:(spark-sql,sql)