全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

分析型日志池查询语法

最近更新时间:2026-03-26 16:37:25

本文介绍适用于分析型日志池MySQL语法。搜索型日志池详见搜索型日志池查询语法


语法支持

日志服务支持基础的 SELECT 查询,具体查询语法如下。

select col_name...|*
[WHERE where_condition]
[GROUP BY {col_name | expr}, ... ]
[ORDER BY {col_name | expr} [ASC | DESC], ...]
[LIMIT [offset,] row_count]

以下是基本语法示例。

select * where level = 'ERROR'

说明:查询语法使用限制详见使用限制

运算符

比较运算符

比较运算符用于对参数进行大小比较、相等性或其他关系判断,日志服务支持以下比较运算符。

运算符

含义

<

小于

>

大于

<=

小于或等于

>=

大于或等于

=

等于

<>

不等于

!=

不等于

BETWEEN

查询处于两个参数之间的数据

IS NULL or IS NOT NULL

判断参数是否是Null值

IN or NOT IN

判断是否包含在集合中

LIKE or NOT LIKE

字符串模糊匹配

逻辑运算函数

逻辑运算函数用于连接多个比较条件,实现复杂的数据筛选逻辑。日志服务支持以下逻辑运算函数。

运算符

含义

AND

只有左右运算数都是true时,结果才为true

OR

左右运算数任一个为true,结果为true

NOT

右侧运算数为false时,结果才为true

真值表

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

条件函数

条件函数支持在查询过程中根据条件判断返回不同的结果,实现分支处理。日志服务支持以下条件函数。

语法

含义

示例

  • 简单 CASE 表达式

CASE expression

WHEN expression1 THEN result1

[WHEN expression2 THEN result2]

...

[WHEN expressionN THEN resultN]

[ELSE result]

END

  • 搜索 CASE 表达式

CASE WHEN condition1 THEN result1

[WHEN condition2 THEN result2]

...

[WHEN conditionN THEN resultN]

[ELSE result]

END

CASE 是一种条件表达式,有两种写法:简单 CASE 表达式和搜索 CASE 表达式。

  • 在简单 CASE 表达式中,将一个表达式 expression 与一个值比较。如果能找到匹配项,则返回 THEN 中的结果。如果未找到匹配项,则返回 ELSE 中的结果。如果未指定 ELSE,则返回 NULL。

  • 在搜索 CASE 表达式中,会判断布尔表达式 condition 的结果是否为 TRUE。为 TRUE 的话返回 THEN 中的结果,否则返回 ELSE 中的结果。如果未指定 ELSE,则返回 NULL。

参数说明:

expressionN:要进行对比的表达式。多个表达式必须在数据类型上兼容。

conditionN:要进行判断的条件。

resultN:返回的结果。多个结果必须在数据类型上兼容。

  • 简单 CASE 表达式

select gender, case gender

when 1 then 'male'

when 0 then 'female'

else 'error'

end gender_str

from test_case;

  • 搜索 CASE 表达式

select gender, case

when gender = 1 then 'male'

when gender = 0 then 'female'

end gender_str

from test_case;

if(expr1,expr2,expr3);

若参数 expr1 成立,返回结果 expr2,否则返回结果 expr3

参数说明:

expr1: 支持的数据类型为 BOOLEAN。

expr2expr3 必须在数据类型上能够兼容,否则返回报错。

select if(false,1,2);

数学计算函数

数学计算函数用于对数值类型的字段进行算术运算、对数、取整等计算。日志服务支持以下数学计算函数。

语法

含义

示例

+

两个参数相加

-

-

两个参数相减

-

*

两个参数相乘

-

/

两个参数相除

-

%

两个参数相除求余数

-

abs(x)

返回 x 的绝对值。如果输入值为 NULL,则返回 NULL。

select abs(-1)

bin(x)

将参数 x 转成二进制。

参数说明:

x的数据类型为 LONG,返回值类型为 TEXT。

select bin(1024)

ceil(x)

向上取整,x 的数据类型为 DOUBLE,返回值类型为 LONG。

select ceil(9.9)

conv(x,y,z)

对输入的参数 x 进行进制转换。

参数说明:

x: 支持的数据类型为 TEXT、LONG。

y: 支持的数据类型为 int8,原始进制。

z: 支持的数据类型为 int8,目标进制。

返回值的数据类型为TEXT 。

select conv(8,10,2);

floor(x)

向下取整,x 的数据类型为 DOUBLE,返回值类型为 LONG。

select floor(3.14);

greatest(x,...)

返回多个输入参数中的最大值。

通常情况下,返回值的数据类型与输入值相同。

该函数进行对比时遵循以下原则:

  • 如果任何一个输入参数为 NULL,则返回 NULL。

  • 如果输入参数中有 DOUBLE 类型的值,则所有值按照 DOUBLE 类型进行比较,并返回 DOUBLE 类型的值。

  • 如果输入参数中既有数值类型又有字符串类型,且字符串可以转换为数值,则按照数值类型进行比较。如果字符串无法转换为数值,则按照字符串类型进行比较。

  • 如果输入参数全部为字符类型,则按照每个参数的首字母在字母表中的先后顺序进行比较。

select greatest(3,4,5,5,6);

least(x,...)

返回多个输入参数中的最小值。

通常情况下,返回值的数据类型与输入值相同。

该函数在对比时遵循的原则同 greatest 。

select least(3,4,5,5,6);

log([base],x)

返回以 base 为底数的 x 的对数。如果未指定 base,则返回 x 的自然对数。

参数说明:

base: 底数,可选。支持的数据类型为 DOUBLE。base 必须大于 0,且不能为 1,否则返回 NULL。

x: 要计算对数的数值,必填。支持的数据类型为 DOUBLE。x 必须大于 0,否则返回 NULL。

select log(2,8);

negative(x)

对参数 x 取其负数作为结果输出。返回值的数据类型为与参数 x 类型相同。

select negative(3);

pow(x,y)

返回参数 xy 次方。

参数说明:

x: 支持的数据类型为 DOUBLE。

y: 支持的数据类型为 DOUBLE。

返回值的数据类型为 DOUBLE。

select pow(2,2);

random()

返回一个 0(包含)到 1(不包含)之间的随机浮点数。

select rand();

round(x[,n])

将数字四舍五入到指定的位数。

参数说明:

  • 如果只指定了 x,则将 x 四舍五入到最近的整数。

  • 如果同时指定了 n,则将 x 四舍五入到小数点后 n 个小数位。如果 n 为负数,则将数字向小数点左边取整。如果发生溢出,则生成错误。

  • 如果只指定 x,则返回值的数据类型为:LONG

  • 如果 xn 都指定,则返回值的数据类型为:DOUBLE

select round(3.14,1);

sign(x)

返回参数 x 的符号。

x 是负数、0、正数时,分别返回 -1、0、1。

select sign(3.14159);

truncate(x,y)

返回数值 x 保留到小数点后 y 位的值。

select truncate(3.14,1);

聚合函数

聚合函数用于对一组值进行计算并返回结果。日志服务支持以下聚合函数。

语法

含义

示例

avg([distinct] expr)

用于返回选中字段的平均值。

参数说明:

epxr: 被选取的表达式,可选字段 DISTINCT 参数。

select datetime, AVG(cost_time) from log_statis group by datetime;

count([distinct] expr[,expr...])

计算总行数。

该函数有 3 种形式:

  • COUNT(*) 返回表中所有的行数。

  • COUNT(expr) 返回某列中非 NULL 值的行数。

  • COUNT(DISTINCT expr) 返回某列去重后非 NULL 值的行数。

select count(*) from test;

select count(id) from test;

select count(distinct category, supplier) from test;

max(expr)

返回 expr 表达式的最大值。

参数说明:

epxr: 被选取的表达式。

select max(scan_rows) from log_statis group by datetime;

max_by(x,y)

返回与 y 的最大值相关联的 x 值。比如 SELECT max_by(subject, score) FROM exam; 表示返回 exam 表中考试得分最高的科目。

参数说明:

x: 一个任意类型的表达式。

y: 可以排序的某个类型的表达式。

  • y 必须是可排序的数据类型。如果 y 不可排序,返回报错。

  • y 值包含 NULL 时,NULL 对应的行不参与计算。

  • 如果存在多行都有最大值,则返回最先出现的那个 x 值。

SELECT max_by(subject, score) FROM exam;

min(expr)

返回 expr 表达式的最小值。

参数说明:

epxr: 被选取的表达式。

select min(scan_rows) from log_statis group by datetime;

min_by(x,y)

返回与 y 的最小值关联的 x 值。比如 SELECT min_by(subject, score) FROM exam; 表示返回 exam 表中考试得分最低的科目。

参数说明:

x: 一个任意类型的表达式。

y: 可以排序的某个类型的表达式。

  • y 必须是可排序的数据类型。如果 y 不可排序,返回报错。

  • y 值包含 NULL 时,NULL 对应的行不参与计算。

  • 如果存在多行都有最小值,则返回最先出现的那个 x 值。

SELECT min_by(subject, score) FROM exam;

sum([distinct] expr)

返回指定列所有值的总和。该函数会忽略 NULL 值,可以与 DISTINCT 运算符搭配使用。

参数说明:

expr: 用于指定参与求和运算的列。

select region, sum(income) from employees group by region;

字符串函数

字符串函数用于处理和转换文本数据,支持对字符串进行连接、替换、匹配等操作。日志服务支持以下字符串函数。

语法

含义

示例

char_length(x)

返回字符串的长度。对于多字节字符,返回 字符 数。

select char_length(name);

concat(str,...)

将多个字符串连接起来。如果参数中任意一个值是 NULL,那么返回的结果为 NULL。

select concat(contry,'-',province,'-',city);

concat_ws(seq,str,...)

使用分隔符将两个或以上的字符串拼接成一个新的字符串。新字符串使用分隔符进行连接。

参数说明:

sep: 分隔符,数据类型 TEXT。

str: 待拼接的字符串,数据类型 TEXT。该函数不会跳过空字符串,会跳过 NULL 值。

如果分隔符为 NULL,返回 NULL。

select concat_ws('-', contry,province,city);

ends_with(str,suffix)

如果字符串以指定后缀结尾,返回 true,否则返回 false。任意参数为 NULL 则返回 NULL。

参数说明:

str: 支持的数据类型为 TEXT。

suffix: 支持的数据类型为 TEXT。

select ends_with('ksyun', 'yun');

find_in_set(str,strlist)

返回 strlist 中第一次出现 str 的位置(从 1 开始计数)。如果没有找到返回 0,任意参数为 NULL 就返回 NULL。

参数说明:

str: 支持的数据类型为 TEXT。

strlist: 是用逗号分隔的字符串,支持的数据类型为 TEXT。

select find_in_set('b', 'a,b,c');

left(str,len)

从字符串左边部分返回指定长度的字符。

参数说明:

str: 待处理的字符串,支持的数据类型为 TEXT。

len: 要返回的字符长度,支持的数据类型为 LONG。

select left('Hello ksyun',5);

length(str)

返回字符串的 字节 长度。

select length(name);

lower(str)

将字符串转换成小写。

select lower(name);

lpad(str, len, pad)

根据指定的长度在字符串前面(左侧)追加字符。

参数说明:

str: 支持的数据类型为 TEXT。

len: 支持的数据类型为 int32,指的是 字符 长度而不是字节长度。

pad: 支持的数据类型为 TEXT。

  • len 大于 str 的长度,在 str 的前面不断补充 pad 字符,直到该字符串的长度达到 len 为止。

  • len 小于 str 的长度,该函数相当于截断 str 字符串,只返回长度为 len 的字符串。

select lpad("hi", 5, "xy");

ltrim(str[, characters])

从字符串的左侧(开始部分)移除连续出现的空格或指定字符。

参数说明:

str: 必选,待裁剪的字符串,支持的数据类型为 TEXT。

characters: 可选,要移除的字符,支持的数据类型为 TEXT。如果不指定该参数,默认移除空格。如果该参数为空字符,返回报错。

select ltrim(' ab d');

money_format(num)

将数字按照货币格式输出,整数部分每隔 3 位用逗号分隔,小数部分保留 2 位。

参数说明:

num: 支持的数据类型为 DOUBLE。

select money_format(price);

null_or_empty(str)

如果字符串为空字符串或者 NULL 则返回 true,否则返回 false。

参数说明:

str: 支持的数据类型为 TEXT。

select null_or_empty(null);

parse_url(str,expr)

从目标 URL 中提取一部分信息。

参数说明:

str: 目标 URL,支持的数据类型为 TEXT。

expr: 待提取的信息,支持的数据类型为 TEXT。取值如下,注意取值大小写敏感

  • PROTOCOL

  • HOST

  • PATH

  • REF

  • AUTHORITY

  • FILE

  • USERINFO

  • QUERY

返回值的数据类型为 TEXT。如果输入的 URL 字符串无效,返回报错。如果未找到请求的信息,返回 NULL。

select parse_url('http://www.ksyun.com/path?query=1', 'HOST');

replace(str,pattern,repl)

将一个字符串 (str) 中符合指定模式的字符 (pattern) 全部替换成其他字符 (repl)。注意替换时会区分大小写。

如果任意一个输入参数为 NULL,则返回 NULL。

如果未找到符合条件的字符,则返回原始的字符串。

参数说明:

str: 原始字符串。

pattern: 用于匹配字符的表达式。不能是正则表达式。

repl: 用于替换 pattern 中指定的字符。

select replace('a.b.c', '.', '+');

reverse(str)

将字符串反转,返回的字符串顺序和源字符串的顺序相反。

select reverse('hello');

right(str,len)

从字符串右边部分返回指定长度的字符。

参数说明:

str: 待处理的字符串,支持的数据类型为 TEXT。

len: 要返回的字符长度,支持的数据类型为 int32。

right('Hello ksyun',5);

rpad(str,len,pad)

根据指定的长度在字符串后面(右侧)追加字符。

参数说明:

str: 支持的数据类型为 TEXT。

len: 支持的数据类型为 int32,指的是 字符 长度而不是字节长度。

pad: 支持的数据类型为 TEXT。

  • 如果 len 大于 str 的长度,则在 str 的后面不断补充 pad 字符,直到该字符串的长度达到 len 为止。

  • 如果 len 小于 str 的长度,该函数相当于截断 str 字符串,只返回长度为 len 的字符串。

select rpad('hi', 5, 'xy');

rtrim(str[, characters])

从字符串的右侧(结尾部分)移除连续出现的空格或指定字符。

参数说明:

str: 待裁剪的字符串,支持的数据类型为 TEXT。

characters: 可选,要移除的字符,支持的数据类型为 TEXT。如果不指定该参数,默认移除空格。如果该参数为空字符,返回报错。

select rtrim(' ab d ');

starts_with(str,prefix)

如果字符串以指定前缀开头返回 1,返回 true,否则返回 false。任意参数为 NULL 则返回 NULL。

参数说明:

str: 支持的数据类型为 TEXT。

perfix: 支持的数据类型为 TEXT。

select starts_with('hello world','hello');

trim(str[, characters])

从字符串的左侧和右侧移除连续出现的空格或指定的字符。

参数说明:

str: 必选,要裁剪的字符串,支持的数据类型为 TEXT。

characters: 可选,要移除的字符,支持的数据类型为 TEXT。如果不指定该参数,默认移除空格。如果该参数为空字符,返回报错。

select trim(' ab c ');

upper(str)

将字符串转换为大写形式。

参数说明:

str:需要转换的字符串。如果 str 不是字符串类型,会先尝试进行隐式的类型转换,将其转换成字符串后再执行该函数。

select upper(name);

url_decode(str)

将字符串从application/x-www-form-urlencoded格式转换回来。

参数说明:

str:待解码的字符串。如果 str 不是字符串格式,会尝试隐式转换。

返回解码后的字符串。如果输入字符串不符合 application/x-www-form-urlencoded 格式,该函数将返回错误。

select url_decode('https%3A%2F%2Fklog.console.ksyun.com')

url_encode(str)

将字符串根据application/x-www-form-urlencoded格式进行编码。

参数说明:

str: 要编码的字符串。如果 str 不是字符串格式,会尝试隐式转换。

select url_encode('https://klog.console.ksyun.com')

日期函数

日期函数支持对日期字符串进行提取、转换、计算等处理。日志服务支持以下日期函数。

语法

含义

示例

add_months(date,months)

在给定的日期上增加一个整数月,返回结果日期。

参数说明:

date: 给定的日期。

months: 要增加的整数月。

如果给定的日期无效或者为 NULL,则返回 NULL。

select add_months('2022-01-01', 2);

convert_tz(date,from_tz,to_tz)

将给定的时间转化为另一个时区的时间。

参数说明:

dt:需要转化的时间。

from_tz:源时区名称。支持的数据类型为 TEXT。

时区可以使用两种格式:时区信息数据库(Time Zone Database,比如 Asia/Shanghai),或 UTC 偏移量(例如+08: 00)。

to_tz:目标时区名称。支持的数据类型为 TEXT。格式同参数 from_tz

select convert_tz(timestamp, 'Asia/Shanghai', 'America/Los_Angeles');

current_date()

获取当前的日期

select current_date();

current_time()

获取当前的时间

select current_time();

date(date)

从日期或时间日期表达式中截取日期部分。

返回值的数据类型为 DATE。如果输入值为 NULL 或数据类型不合法,则返回 NULL。

select date(timestamp);

date_add(date,interval expr type)

向日期添加指定的时间间隔。

参数说明:

date:必须是合法的日期表达式。

expr:需要添加的时间间隔,支持的数据类型为 int32。

type:时间间隔的单位,取值可以是 YEAR,QUARTER,MONTH,DAY,HOUR,MINUTE,SECOND

返回 DATE 类型的值。如果输入值为空或者格式不正确,返回 NULL。

date_add('2010-11-30 23:59:59', INTERVAL 2 DAY);

date_diff(unit,date1,date2)

根据指定的时间单位返回两个日期的差值。该函数按照 unit 指定的时间单位返回 date1 - date2 的差值。比如 date_diff('second', '2010-11-30 23:59:59', '2010-11-30 20:58:59') 以秒为单位返回这两个日期的差值。

参数说明:

unit:差值的时间单位,必填。unit 的取值必须是 year, quarter, month, weekdayhourminutesecondmillisecond

date1date2:要进行比较的两个日期值,必填。支持的数据类型为 DATE。

select date_diff('minute', '2010-11-30 23:59:59', '2010-11-30 20:58:59');

date_format(date,format)

将日期类型按照 format 的类型转化为字符串。

当前支持最大 128 字节的字符串,如果返回值长度超过 128,则返回 NULL。

参数说明:

date 参数是合法的日期。

format 指定日期/时间的输出格式。

可以使用的格式有:

%a | 缩写星期名

%b | 缩写月名

%c | 月,数值

%D | 带有英文前缀的月中的天

%d | 月的天,数值(00-31)

%e | 月的天,数值(0-31)

%f | 微秒

%H | 小时 (00-23)

%h | 小时 (01-12)

%I | 小时 (01-12)

%i | 分钟,数值(00-59)

%j | 年的天 (001-366)

%k | 小时 (0-23)

%l | 小时 (1-12)

%M | 月名

%m | 月,数值(00-12)

%p | AM 或 PM

%r | 时间,12-小时(hh:mm:ss AM 或 PM)

%S | 秒(00-59)

%s | 秒(00-59)

%T | 时间,24-小时 (hh:mm:ss)

%U | 周 (00-53) 星期日是一周的第一天

%u | 周 (00-53) 星期一是一周的第一天

%V | 周 (01-53) 星期日是一周的第一天,与 %X 使用

%v | 周 (01-53) 星期一是一周的第一天,与 %x 使用

%W | 星期名

%w | 周的天 (0=星期日,6=星期六)

%X | 年,其中的星期日是周的第一天,4 位,与 %V 使用

%x | 年,其中的星期一是周的第一天,4 位,与 %v 使用

%Y | 年,4 位

%y | 年,2 位

%% | 用于表示 %

select date_format('2009-10-04 22:23:00', '%W %M %Y');

date_histogram(date,interval)

按时间分桶,将数据按照固定的时间间隔(如1小时、1天、1周等)

参数说明:

date:合法的日期表达式。

interval:时间间隔。

合法取值如下:

d:天

h:小时

m:钟

s:秒

示例: 2d

select date_histogram(timestamp,'1m') as d ,count(*) as c group by d order by d;

date_sub(date,interval expr type)

从日期中减去指定的时间间隔。

参数说明:

date:合法的日期表达式。

expr:要减去的时间间隔,支持的数据类型为 int32。

type:时间间隔的单位,取值可以是 YEAR,QUARTER,MONTH,DAY,HOUR,MINUTE,SECOND。

select date_sub('2010-11-30 23:59:59', INTERVAL 2 DAY);

date_trunc(fmt,date)

根据指定的精度级别 fmt,将一个日期时间截断。

参数说明:

date: 需要截断的时间。日期和时间必须真实存在,否则返回 NULL。比如 '2021-02-29 11:12:13' 为不存在的日期,计算时会返回 NULL。

fmt: 精度级别,即需要将 date 截断到哪个时间单位。

fmt 的取值必须为以下列举的时间单位。如果取值不正确,则返回报错。

second截断到秒。

minute截断到分钟,秒部分归零。

hour截断到小时,分钟和秒部分归零。

day截断到天,时间部分归零。

week截断到当前星期的第一天,时间部分归零。

month截断到当前月份的第一天,时间部分归零。

quarter截断到当前季度的第一天,时间部分归零。

year截断到当前年份的第一天,时间部分归零。

select date_trunc("minute", "2020-11-04 11:12:13");

day(date)

返回指定日期中的天信息。

select day('1987-01-31');

dayofweek_iso(date)

根据 ISO 标准,计算某一个日期对应的是一周内的星期几,并返回一个整数值,范围在 17 之间。其中,1 代表星期一,7 代表星期日。

select dayofweek_iso('2023-01-01');

dayofmonth(date)

获得日期中的天信息,返回值范围 1~31。

select dayofmonth('1987-01-31');

dayofyear(date)

计算指定日期为对应年中的哪一天。

select dayofyear('2007-02-03 00:00:00');

days_add(date,n)

向日期加上指定的天数。

参数说明:

date: DATE 类型的表达式。

n: 要加上的天数。

如果任一参数为 NULL 或者不合法,则返回 NULL。

select days_add('2023-10-31 23:59:59', 1);

from_unixtime(unix_timestamp[,string_format)

将 UNIX 时间戳转化为对应的时间格式。返回的时间格式由 string_format 指定,默认为 yyyy-MM-dd HH:mm:ss

unix_timestamp: 要转化的 UNIX 时间戳,int32 类型。如果给定的时间戳小于 0 或大于 2147483647,则返回 NULL。

参数说明:

string_format: 可选,指定的时间格式。

目前 string_format 支持如下格式,其余 string_format 格式非法,返回 NULL。

%Y:年。例:2014,1900

%m:月。例:12,09

%d:日。例:11,01

%H:时。例:23,01,12

%i:分。例:05,11

%s:秒。例:59,01

select from_unixtime(1196440219);

hour(date)

获得指定日期中的小时信息。

select hour('2018-12-31 23:59:59');

last_day(date,unit)

根据指定的时间单位,返回输入的日期对应的最后一天。比如 last_day('2023-05-10', 'month') 返回 '2023-05-10' 所在月份的最后一天。

如果没有指定时间单位,则返回该日期对应月份的最后一天。

参数说明:

date_expr:DATE 表达式,必填。

unit: 时间单位,可选。有效值包括 month, quarter, 和 year。如果不填,默认为 month。如果输入的 unit 不合法,返回报错。

select last_day('2023-05-10', 'month');

makedate(year,dayOfYear)

根据给定的年份和天数值,构造一个日期值。

参数说明:

year:输入的年份,支持的数据类型为 int。取值范围 [0,9999]。如果超出该值,返回 NULL。

dayOfYear:天数,支持的数据类型为 int。支持的取值范围为 [1,365]。年份为闰年时,取值可以为 366。其他情况返回 NULL。

select makedate(2023,32);

minute(date)

获得指定日期中的分钟,返回值范围为 0~59。

select minute('2018-12-31 23:59:59');

month(date)

获得指定日期中的月份,返回值范围为 1~12。

select month('1987-01-01');

now()

获取当前的时间

select now();

quarter(date)

获得指定日期中的的季度,返回值范围为 1~4。

select quarter("2022-10-09 15:59:33");

second(date)

获得指定日期中的秒,返回值范围为 0~59。

select second('2018-12-31 23:59:59');

str_to_date(str,format)

按照 format 指定的格式将 str 转换为 DATE 类型的值。如果转换结果有误,则返回 NULL。

参数说明:

str: 要转换的时间字符串,支持的数据类型为 TEXT。

format: 指定的时间格式,支持的数据类型为 TEXT。支持的时间格式与date_format 函数一致。

如果 strformat 为 NULL,则返回 NULL。

select str_to_date('2014-12-21 12:34:56', '%Y-%m-%d %H:%i:%s');

to_date(date)

返回日期时间中的日期部分。

select to_date("2020-02-02 00:00:00");

unix_timestamp([date][,format])

将 DATE 类型的值转化为 UNIX 时间戳。

如果未指定参数,则将当前的时间转化为 UNIX 时间戳。

对于在 1970-01-01 00:00:00 之前或 2038-01-19 11:14:07 之后的时间,该函数将返回 0。

参数说明:

fmt 的格式请参阅 date_format 函数的格式说明。

select unix_timestamp();

select unix_timestamp(timestamp);

week(date[,mode])

计算指定日期属于一年中的第几周。

参数说明:

date: 支持的数据类型为DATE。

mode: 可选,支持的数据类型为 INT。用于确定周数计算逻辑,即一周起始于周日还是周一,以及返回值的范围是 0 到 53 还是 1 到 53。该参数取值范围 0~7,默认值为 0。如果未指定该参数,默认按照模式 0 对应的规则计算。

select week('2007-01-01', 1);

year(date)

获得指定日期中的年份

select year('1987-01-01');

yearweek(date)

返回给定日期对应的年份和周数。

参数说明:

date: 支持的数据类型为 DATETIME 或 DATE。

mode: 可选,支持的数据类型为 INT。用于确定周数计算逻辑,即一周起始于周日还是周一,以及返回值的范围是 0 到 53 还是 1 到 53。该参数取值范围 0~7,默认值为 0。如果未指定该参数,默认按照模式 0 对应的规则计算。

select yearweek('2007-01-01', 0);

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈