云服务器内容精选

  • 常用提取函数 域 描述 YEAR year() QUARTER quarter() MONTH month() WEEK week() DAY day() DAY_OF_MONTH day_of_month() DAY_OF_WEEK day_of_week() DOW day_of_week() DAY_OF_YEAR day_of_year() DOY day_of_year() YEAR_OF_WEEK year_of_week() YOW year_of_week() HOUR hour() MINUTE minute() SECOND second() TIMEZONE_HOUR timezone_hour() TIMEZONE_MINUTE timezone_minute() 例如: select second(timestamp '2020-02-12 15:32:33.215');-- 33 select timezone_hour(timestamp '2020-02-12 15:32:33.215');-- 8 MONTHNAME(date) 描述:获取月份名称。 SELECT monthname(timestamp '2019-09-09 12:12:12.000');-- SEPTEMBER SELECT monthname(date '2019-07-09');--JULY
  • Java 日期函数 在这一章节中使用的格式化字符串都是与Java的SimpleDateFormat样式兼容的。 format_datetime(timestamp, format) → varchar 使用format格式化timestamp parse_datetime(string, format) → timestamp with time zone 使用指定的格式,将字符串格式化为timestamp with time zone select parse_datetime('1960/01/22 03:04', 'yyyy/MM/dd HH:mm'); _col0 --------------------------------------- 1960-01-22 03:04:00.000 Asia/Shanghai (1 row)
  • 日期时间运算符 运算符 示例 结果 + date '2012-08-08' + interval '2' day 2012-08-10 + time '01:00' + interval '3' hour 04:00:00.000 + timestamp '2012-08-08 01:00' + interval '29' hour 2012-08-09 06:00:00.000 + timestamp '2012-10-31 01:00' + interval '1' month 2012-11-30 01:00:00.000 + interval '2' day + interval '3' hour 2 03:00:00.000 + interval '3' year + interval '5' month 3-5 - date '2012-08-08' - interval '2' day 2012-08-06 - time '01:00' - interval '3' hour 22:00:00.000 - timestamp '2012-08-08 01:00' - interval '29' hour 2012-08-06 20:00:00.000 - timestamp '2012-10-31 01:00' - interval '1' month 2012-09-30 01:00:00.000 - interval '2' day - interval '3' hour 1 21:00:00.000 - interval '3' year - interval '5' month 2-7
  • cast函数 将值从一种数据类型转换为另一种数据类型,并将数据类型提供给动态参数。 在允许表达式的任何地方都允许使用铸造表达式。 语法:CAST(Expression as Datatype) 要将表达式转换到的数据类型是目标类型。要从中转换的表达式的数据类型是源类型。 表2 参数说明 参数名称 描述 类型 是否必选 expression 源类型的表达式。 任意 是 Datatype 目标类型。 SQL数据类型,可选值为bigint、varchar、double precision、boolean、timestamp、decimal、integer、char、date。 是 表3 索引数据类型和SQL数据类型的对应关系 索引的数据类型 SQL的数据类型 long bigint string varchar float double precision 返回值类型:目标数据类型。 示例:select cast(time as date) 表4 查询分析结果 类型 场景 查询语句 cast(time as date) 返回结果 2023-08-31 23:11:17.000
  • year_of_week函数 返回目标日期在ISO周日历中的年份。year_of_week函数等同于yow函数。 语法:year_of_week(expr) 参数说明: 参数名称 描述 类型 是否必选 expr 时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS或yyyy-MM-dd String 是 返回值类型:Integer类型 示例:SELECT YEAR_OF_WEEK('2023-09-22 14:47:59.325'), YEAR_OF_WEEK('2023-09-22') 表64 查询分析结果 类型 场景1 场景2 查询语句 YEAR_OF_WEEK('2023-09-22 14:47:59.325') YEAR_OF_WEEK('2023-09-22') 返回结果 2023 2023
  • time_series函数 用于补全您查询时间窗口内缺失的数据。time_series函数必须搭配GROUP BY语法和ORDER BY语法使用。 语法:time_series(x, window_time, format, padding_data) 表67 参数说明 参数名称 描述 类型 是否必选 x 原始字段。 long或date 是 window_time 窗口大小,单位为s(秒)、m(分)、h(小时)、d(天)。例如2h、5m、3d。 String 是 format 返回结果的时间格式。 String 是 padding_data 补全的内容。包括:0:将缺失的值设置为0。null:将缺失的值设置为null。last:将缺失的值设置了上一个时间点对应的值。next:将缺失的值设置了下一个时间点对应的值。avg:将缺失的值设置为前后两个时间点的平均值。 String 是 返回值类型:String 示例:select time_series(__time__, '1d', 'HH:mm:ss','0') as time, count(*) as count group by time order by time asc 表68 查询分析结果 类型 场景 查询语句 time_series(__time__, '1d', 'HH:mm:ss','0') as time, count(*) as count group by time order by time asc 返回结果
  • yow函数 返回目标日期在ISO周日历中的年份。year_of_week函数等同于yow函数。 语法:yow(expr) 表65 参数说明 参数名称 描述 类型 是否必选 expr 时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS或yyyy-MM-dd String 是 返回值类型:Integer类型 示例:SELECT YOW('2023-09-22 14:47:59.325'), YOW('2023-09-22') 表66 查询分析结果 类型 场景1 场景2 查询语句 YOW('2023-09-22 14:47:59.325') YOW('2023-09-22') 返回结果 2023 2023
  • date_trunc函数 根据您指定的时间单位截断日期和时间表达式,并以毫秒、秒、分钟、小时、天、月或年为单位对齐。 语法:date_trunc(unit, expr) 表52 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 unit 时间单位 String 是 返回值类型:Long类型 示例:SELECT DATE_TRUNC('year', '2022-11-20 12:20:30.123') 表53 查询分析结果 类型 场景 查询语句 DATE_TRUNC('year', '2022-11-20 12:20:30.123') 返回结果 2022-01-01 00:00:00.000
  • date_diff函数 返回时间戳expr1和时间戳expr2之间的单位数(有符号)。 语法:date_diff(unit, expr1, expr2) 表54 参数说明 参数名称 描述 类型 是否必选 expr1 第一个日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 expr2 第二个日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String unit 时间单位 String 是 返回值类型:Long类型 示例:SELECT DATE_DIFF('MONTH', NOW(),'2022-11-20 12:20:30.123') 表55 查询分析结果 类型 场景 查询语句 DATE_DIFF('MONTH', NOW(),'2022-11-20 12:20:30.123') 返回结果 4
  • time_extract函数 通过指定字段提取日期时间表达式的日期或时间部分。EPOCH, SECOND, MINUTE, HOUR, DAY(月的日), DOW(周的日), DOY(年的日), WEEK(年周), MONTH(1到12), QUARTER(1到4),或YEAR,时区(如果提供)应为时区名称,如"America/Los_Angeles"或偏移量,如"-08:00" 语法:time_extract(expr, unit) 表50 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 unit 时间单位 String 是 返回值类型:Long类型 示例:SELECT TIME_EXTRACT('2023-05-05','YEAR') 表51 查询分析结果 类型 场景 查询语句 TIME_EXTRACT('2023-05-05','YEAR') 返回结果 2023
  • date_add函数 给时间加上给定的时间间隔。 语法:date_add(unit, n, expr) 表58 参数说明 参数名称 描述 类型 是否必选 unit 时间单位,取值为millisecond、second、minute、hour、day、week、month、quarter、year String 是 n 时间间隔 Long 是 expr 时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 返回值类型:String类型 示例:SELECT DATE_ADD('minute', 7, '2023-05-15 16:14:00.569') 表59 查询分析结果 类型 场景 查询语句 DATE_ADD('minute', 7, '2023-05-15 16:14:00.569') 返回结果 2023-05-15 16:21:00.569
  • timezone_minute函数 计算时区的分钟偏移量。 语法:timezone_minute(expr) 表41 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS TIMEZONE String 否 返回值类型:Integer类型 示例:SELECT TIMEZONE_MINUTE('2023-04-22 15:31:30.000 Europe/Rome') 表42 查询分析结果 类型 场景 查询语句 TIMEZONE_MINUTE('2023-04-22 15:31:30.000 Europe/Rome') 返回结果 0
  • time_format函数 将时间戳类型的日期和时间表达式转换为指定格式的日期和时间表达式。 语法:time_format(expr, format) 表43 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式。 String 是 format 时间格式。 String 是 返回值类型:String类型 示例:SELECT TIME_FORMAT(__time, 'yyyy-MM-dd HH:mm:ss') 表44 查询分析结果 类型 场景 查询语句 TIME_FORMAT(__time, 'yyyy-MM-dd HH:mm:ss') 返回结果 2023-02-16 07:38:25 format描述: %a Abbreviation for the week. For example, Sun and Sat. %b Abbreviation of the month. For example, Jan and Dec. %c Month. Numeral type. Range: 1-12. %D Day of the month. The value must be suffixed, for example, 0th, 1st, 2nd, and 3rd. %d Day of the month. The value ranges from 01 to 31 in decimal notation. %e Day of the month. The value ranges from 1 to 31 in decimal notation. %H Hour, 24-hour system. %h Hour, 12-hour system. %i Minute. Numeral type. Range: 00–59. %j Day of the year. The value ranges from 001 to 366. %k Hour. The value ranges from 0 to 23. %l Hour. The value ranges from 1 to 12. %M The English expression of the month, for example, January, December. %m Month. Numeral format. The value ranges from 01 to 12. %p AM and PM. %r Time in the 12-hour format. The format is hh:mm:ss AM/PM. %S Indicates the second. The value ranges from 00 to 59. %s Indicates the second. The value ranges from 00 to 59. %T Time, in the 24-hour format of hh:mm:ss. %v The first week of the year, Monday is the first day of the week. The value ranges from 01 to 53. %W The name of the day of the week. For example, Sunday and Saturday. %w Day of the week. Sunday is day 0. %Y A 4-digit year, for example, 2020. %y A 2-digit year, for example, 20. %% Escape character for%.
  • date_parse函数 将日期和时间字符串转换为指定格式的时间戳类型的日期和时间表达式。 语法:date_parse(expr, pattern) 表48 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式。 String 是 pattern 日期和时间表达式的转换格式 String 是 返回值类型:timestamp类型 示例:SELECT DATE_PARSE('1996-03-22 14:32:00.000','%Y-%m-%d %h:%i') 表49 查询分析结果 类型 场景 查询语句 DATE_PARSE('1996-03-22 14:32:00.000','%Y-%m-%d %h:%i') 返回结果 1996-03-22 14:32:00.000 pattern在设置时,如果设置了分钟,那么就必须同时配置分钟之前的年、月、日和时。
  • date_format函数 将时间戳类型的日期和时间表达式转换为指定格式的日期和时间表达式。与time_format函数功能一致。 语法:date_format(expr, format) 表45 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 format 时间格式 String 是 返回值类型:String类型 示例:SELECT DATE_FORMAT(current_timestamp(),'%H%i') 表46 查询分析结果 类型 场景 查询语句 DATE_FORMAT(current_timestamp(),'%H%i') 返回结果 1432 format描述: %a Abbreviation for the week. For example, Sun and Sat. %b Abbreviation of the month. For example, Jan and Dec. %c Month. Numeral type. Range: 1-12. %D Day of the month. The value must be suffixed, for example, 0th, 1st, 2nd, and 3rd. %d Day of the month. The value ranges from 01 to 31 in decimal notation. %e Day of the month. The value ranges from 1 to 31 in decimal notation. %H Hour, 24-hour system. %h Hour, 12-hour system. %i Minute. Numeral type. Range: 00–59. %j Day of the year. The value ranges from 001 to 366. %k Hour. The value ranges from 0 to 23. %l Hour. The value ranges from 1 to 12. %M The English expression of the month, for example, January, December. %m Month. Numeral format. The value ranges from 01 to 12. %p AM and PM. %r Time in the 12-hour format. The format is hh:mm:ss AM/PM. %S Indicates the second. The value ranges from 00 to 59. %s Indicates the second. The value ranges from 00 to 59. %T Time, in the 24-hour format of hh:mm:ss. %v The first week of the year, Monday is the first day of the week. The value ranges from 01 to 53. %W The name of the day of the week. For example, Sunday and Saturday. %w Day of the week. Sunday is day 0. %Y A 4-digit year, for example, 2020. %y A 2-digit year, for example, 20. %% Escape character for%.