云服务器内容精选

  • Color 函数 bar(x, width) 描述:使用默认的低频红色和高频绿色渲染ANSI条形图中的单个条形。例如,如果将25%的x和40的宽度传递给此函数。将绘制一个10个字符的红色条形,后跟30个空格,以创建一个40个字符的条形。 bar(x, width, low_color, high_color) 描述:在ANSI条形图中以指定宽度绘制一条直线。参数x是0到1之间的一个双精度值。x的值超出[0,1]范围将被截断为0或1值。low_color和high_color捕获用于水平条形图任一端的颜色。例如,如果x为0.5,宽度为80,low_color为0xFF0000,high_color为0x00FF00,则此函数将返回一个40个字符的条形,该条形由红色(0xFF0000)和黄色(0xFFFF00)组成,其余80个字符条为用空格填充。 select bar(0.75,80,rgb(255,0,0),rgb(0,255,0)); render(b) 描述:根据布尔值返回对错符号。 select render(true),render(false); 父主题: SQL函数和操作符
  • 函数 make_set_digest(x)→setdigest 描述:将所有的输入值X,组合到setdigest中。 SELECT make_set_digest(value) FROM (VALUES 1, 2, 3) T(value); _col0 ------------------------------------------------- 01 10 00 00 00 02 0b 03 00 80 03 44 00 00 58 3d 5b 80 20 08 de 00 20 00 00 03 00 00 00 a8 c0 76 6c a0 20 08 de 4a c4 05 fb b7 03 44 00 0c 8b 48 b2 39 58 3d 5b 01 00 01 00 01 00 (1 row) SELECT make_set_digest(value) FROM (VALUES 'Trino', 'SQL', 'on', 'everything') T(value); _col0 ------------------------------------------------- 01 14 00 00 00 02 0b 04 00 c0 8c 7d 1e c0 75 c9 2d c0 1a 1a 66 03 11 c3 a5 00 20 00 00 04 00 00 00 06 e5 2d 45 05 11 c3 a5 48 85 6b d5 e0 8c 7d 1e b9 1a 8a 39 ff 75 c9 2d 02 ad 0c 7c ed 1a 1a 66 01 00 01 00 01 00 01 00 (1 row) merge_set_digest(setdigest)→setdigest 描述:返回由输入值setdigest聚合组成的setdigest。 cardinality(setdigest)→long 描述:基于内部HyperLogLog组件返回setdigest的基数。 SELECT cardinality(make_set_digest(value)) FROM (VALUES 1, 2, 2, 3, 3,4, 4, 4, 5) T(value); -- 5 intersection_cardinality(x,y)→long 描述:返回两个集合摘要交集的基数估计。其中x,y都是setdigest类型。 SELECT intersection_cardinality(make_set_digest(v1), make_set_digest(v2)) FROM (VALUES (1, 1), (NULL, 2), (2, 3), (3, 4)) T(v1, v2); -- 3 jaccard_index(x,y)→double 描述:返回两个集合摘要的Jaccard索引估计值。其中x,y都是setdigest类型。 SELECT jaccard_index(make_set_digest(v1), make_set_digest(v2)) FROM (VALUES (1, 1), (NULL,2), (2, 3), (NULL, 4)) T(v1, v2); -- 0.5 hash_counts(x) 描述:返回一个包含Murmur3Hash128哈希值及其在属于x的内部MinHash结构中出现的计数的Map。其中x是setdigest类型。 SELECT hash_counts(make_set_digest(value)) FROM (VALUES 1, 1, 1, 2, 2) T(value); -- {19144387141682250=3, -2447670524089286488=2}
  • 逻辑运算符 逻辑运算符 操作 描述 例子 AND 两个值都为true,则为true a AND b OR 两个值其中一个为true,则为true a OR b NOT 值为false,结果则为true NOT a 以下真值表反映了AND和OR如何处理NULL值: a b a AND b a OR b TRUE TRUE TRUE TRUE TRUE FALSE FALSE TRUE TRUE NULL NULL TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE NULL FALSE NULL NULL TRUE NULL TRUE NULL FALSE FALSE NULL NULL NULL NULL NULL 以下真值表反映了NOT如何处理NULL值: value NOT value TRUE FALSE FALSE TRUE NULL NULL 父主题: HetuEngine SQL函数和操作符说明
  • time_series函数 用于补全您查询时间窗口内缺失的数据。time_series函数必须搭配GROUP BY语法和ORDER BY语法使用。 语法:time_series(x, window_time, format, padding_data) 表68 参数说明 参数名称 描述 类型 是否必选 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 表69 查询分析结果 类型 场景 查询语句 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) 表66 参数说明 参数名称 描述 类型 是否必选 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') 表67 查询分析结果 类型 场景1 场景2 查询语句 YOW('2023-09-22 14:47:59.325') YOW('2023-09-22') 返回结果 2023 2023
  • date_trunc函数 根据您指定的时间单位截断日期和时间表达式,并以毫秒、秒、分钟、小时、天、月或年为单位对齐。 语法:date_trunc(unit, expr) 表53 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 unit 时间单位 String 是 返回值类型:Long类型 示例:SELECT DATE_TRUNC('year', '2022-11-20 12:20:30.123') 表54 查询分析结果 类型 场景 查询语句 DATE_TRUNC('year', '2022-11-20 12:20:30.123') 返回结果 2022-01-01 00:00:00.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') 表65 查询分析结果 类型 场景1 场景2 查询语句 YEAR_OF_WEEK('2023-09-22 14:47:59.325') YEAR_OF_WEEK('2023-09-22') 返回结果 2023 2023
  • date_diff函数 返回时间戳expr1和时间戳expr2之间的单位数(有符号)。 语法:date_diff(unit, expr1, expr2) 表55 参数说明 参数名称 描述 类型 是否必选 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') 表56 查询分析结果 类型 场景 查询语句 DATE_DIFF('MONTH', NOW(),'2022-11-20 12:20:30.123') 返回结果 4
  • date_add函数 给时间加上给定的时间间隔。 语法:date_add(unit, n, expr) 表59 参数说明 参数名称 描述 类型 是否必选 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') 表60 查询分析结果 类型 场景 查询语句 DATE_ADD('minute', 7, '2023-05-15 16:14:00.569') 返回结果 2023-05-15 16:21:00.569
  • date_format函数 将时间戳类型的日期和时间表达式转换为指定格式的日期和时间表达式。与time_format函数功能一致。 语法:date_format(expr, format) 表46 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 format 时间格式 String 是 返回值类型:String类型 示例:SELECT DATE_FORMAT(current_timestamp(),'%H%i') 表47 查询分析结果 类型 场景 查询语句 DATE_FORMAT(current_timestamp(),'%H%i') 返回结果 1432 format参数说明: %a:星期的缩写。例如Sun、Sat。 %b:月份的缩写。例如Jan、Dec。 %c:月份。数值类型,取值范围为1~12。 %D:每月的第几天。需加上后缀,例如0th、1st、2nd、3rd。 %d:每月的第几天。十进制格式,取值范围为01~31。 %e:每月的第几天。十进制格式,取值范围为1~31。 %H:小时,24小时制。 %h:小时,12小时制。 %i:分钟。数值类型,取值范围为00~59。 %j:每年的第几天。取值范围为001~366。 %k:小时。取值范围为0~23。 %l:小时。取值范围为1~12。 %M:月份的英文表达,例如January、December。 %m:月份。数值格式,取值范围为01~12。 %p:AM、PM。 %r:时间。12小时制,格式为hh:mm:ss AM/PM。 %S:秒。取值范围为00~59。 %s:秒。取值范围为00~59。 %f:毫秒。取值范围为000~999。 %T:时间。24小时制,格式为hh:mm:ss。 %v:每年的第几周,星期一是一周的第一天。取值范围为01~53。 %W:星期几的名称。例如Sunday、Saturday。 %Y:4位数的年份。例如2020。 %y:2位数的年份。例如20。 %%:%的转义字符。
  • 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) 表51 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 unit 时间单位 String 是 返回值类型:Long类型 示例:SELECT TIME_EXTRACT('2023-05-05','YEAR') 表52 查询分析结果 类型 场景 查询语句 TIME_EXTRACT('2023-05-05','YEAR') 返回结果 2023
  • 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
  • date_parse函数 将日期和时间字符串转换为指定格式的时间戳类型的日期和时间表达式。 语法:date_parse(expr, pattern) 表49 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式。 String 是 pattern 日期和时间表达式的转换格式 String 是 返回值类型:timestamp类型 示例:SELECT DATE_PARSE('1996-03-22 14:32:00.000','%Y-%m-%d %h:%i') 表50 查询分析结果 类型 场景 查询语句 DATE_PARSE('1996-03-22 14:32:00.000','%Y-%m-%d %h:%i') 返回结果 1996-03-22 14:32:00.000 pattern在设置时,如果设置了分钟,那么就必须同时配置分钟之前的年、月、日和时。
  • time_shift函数 将时间戳expr移动一个Period(步长时间)。Period可以是任何ISO8601的Period。 语法:time_shift(expr, period, step, [timezone]) 表37 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 period ISO8601的周期 String 是 step 步长 Integer 是 timezone 时区 String 否 返回值类型:String类型 示例:SELECT TIME_SHIFT('2023-04-22 15:31:30.000', 'P1D', 5), TIME_SHIFT('2023-04-22 15:31:30.000', 'P1D', 5, 'Asia/Shanghai') 表38 查询分析结果 类型 场景1 场景2 查询语句 TIME_SHIFT('2023-04-22 15:31:30.000', 'P1D', 5) TIME_SHIFT('2023-04-22 15:31:30.000', 'P1D', 5, 'Asia/Shanghai') 返回结果 2023-04-27 15:31:30.000 2023-04-27 23:31:30.000
  • ceil函数 使用时间单位对时间戳进行四舍五入,单位可以是SECOND、MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR。 语法:ceil(expr, unit) 表33 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 unit 时间单位 String 是 返回值类型:String类型 示例:SELECT CEIL('2023-04-20 11:28:31.770', 'DAY') 表34 查询分析结果 类型 场景 查询语句 CEIL ('2023-04-20 11:28:31.770', 'DAY') 返回结果 2023-04-21 00:00:00.000