华为云用户手册

  • 语法格式 create table tsdbSink ( attr_name attr_type (',' attr_name attr_type)* ) with ( 'connector.type' = 'opentsdb', 'connector.region' = '', 'connector.tsdb-metrics' = '', 'connector.tsdb-timestamps' = '', 'connector.tsdb-values' = '', 'connector.tsdb-tags' = '', 'connector.tsdb-link-address' = '' );
  • 参数说明 表1 参数说明 参数 是否必选 说明 connector.type 是 固定为filesystem。 connector.file-path 是 数据输出目录,格式为: schema://file.path。 说明: 当前schame只支持obs和hdfs。 当schema为obs时,表示输出到 对象存储服务 OBS。注意,OBS必须是并行文件系统,不能是OBS桶。 示例:obs://bucketName/fileName,表示数据输出到obs的bucketName桶下的fileName目录中。 当schema为hdfs时,表示输出到HDFS。 示例:hdfs://node-master1sYAx:9820/user/car_infos,其中node-master1sYAx:9820为 MRS 集群NameNode所在节点信息。 format.type 是 输出数据编码格式,当前支持“parquet”格式和“csv”格式。 当schema为obs时,输出数据编码格式仅支持“parquet”格式。 当schema为hdfs时,输出数据编码格式支持“parquet”格式和“csv”格式。 format.field-delimiter 否 属性分隔符。 当编码格式为“csv”时,需要设置属性分隔符,用户可以自定义,默认为“,”。 connector.ak 否 用于访问obs的accessKey 当写入obs时必须填写该字段。 connector.sk 否 用于访问obs的secretKey 当写入obs时必须填写该字段。 connector.partitioned-by 否 分区字段,多个字段以“,”分隔
  • 语法格式 1 2 3 4 5 6 7 create table printSink ( attr_name attr_type (',' attr_name attr_type) * (',' PRIMARY KEY (attr_name,...) NOT ENFORCED) ) with ( 'connector' = 'print', 'print-identifier' = '', 'standard-error' = '' );
  • 语法格式 1 2 3 4 5 6 7 8 9 create table clickhouseSink ( attr_name attr_type (',' attr_name attr_type)* ) with ( 'connector.type' = 'clickhouse', 'connector.url' = '', 'connector.table' = '' );
  • 注意事项 创建MRS的ClickHouse集群,集群版本选择MRS 3.1.0,且勿开启kerberos认证。 Flink SQL语句中不能定义主键。同时不能使用任何产生主键的语法,例如insert into clickhouseSink select id, cout(*) from sourceName group by id。 Flink中支持字段类型范围为:string、tinyint、smallint、int、long、float、double、date、timestamp、decimal以及Array。 其中Array中的数据类型仅支持int、bigint、string、float、double。
  • 聚合函数 聚合函数是从一组输入值计算一个结果。例如使用COUNT函数计算SQL查询语句返回的记录行数。聚合函数如表1所示。 表1 聚合函数表 函数 返回值类型 描述 COUNT([ ALL ] expression | DISTINCT expression1 [, expression2]*) BIGINT 返回表达式不为NULL的输入行数。对每个值的一个唯一实例使用DISTINCT。 COUNT(*) COUNT(1) BIGINT 返回元组个数 AVG([ ALL | DISTINCT ] expression) DOUBLE 返回所有值的平均值。 对每个值的一个唯一实例使用DISTINCT。 SUM([ ALL | DISTINCT ] expression) DOUBLE 返回所有输入值的数值之和 对每个值的一个唯一实例使用DISTINCT MAX([ ALL | DISTINCT ] expression) DOUBLE 返回所有输入值的最大值 MIN([ ALL | DISTINCT ] expression) DOUBLE 返回所有输入值的最小值 STDDEV_POP([ ALL | DISTINCT ] expression) DOUBLE 返回所有输入值之间的数字字段的总体标准偏差 STDDEV_SAMP([ ALL | DISTINCT ] expression) DOUBLE 返回所有输入值之间的数字字段的样本标准偏差 VAR_POP([ ALL | DISTINCT ] expression) DOUBLE 返回所有输入值之间的数字字段的总体方差 VAR_SAMP([ ALL | DISTINCT ] expression) DOUBLE 返回所有输入值之间的数字字段的样本方差 COLLECT([ ALL | DISTINCT ] expression) MULTISET 返回所有输入值的MULTISET VARIANCE([ ALL | DISTINCT ] expression) DOUBLE 返回所有输入值之间的数字字段的样本方差 FIRST_VALUE(expression) 数据实际类型 返回有序数据中的第一个数据 LAST_VALUE(expression) 数据实际类型 返回有序数据中的最后一个数据 父主题: 内置函数
  • 函数说明 表1 Hash函数说明 Hash函数 函数说明 MD5(string) 返回以32个十六进制数所表示的字符串的MD5哈希值 若字符串是null,则返回null SHA1(string) 返回以40个十六进制所表示的字符串的SHA-1哈希值 若字符串是null,则返回null SHA224(string) 返回以56个十六进制数所表示的字符串的SHA-224哈希值 若字符串是null,则返回null SHA256(string) 返回以64个十六进制数所表示的字符串的SHA-256哈希值 若字符串是null,则返回null SHA384(string) 返回以96个十六进制数所表示的字符串的SHA-384哈希值 若字符串是null,则返回null SHA512(string) 返回以128个十六进制数所表示的字符串的SHA-512哈希值 若字符串是null,则返回null SHA2(string, hashLength) 返回使用SHA-2哈希函数族(SHA-224, SHA-256, SHA-384, or SHA-512)得到的哈希值 第一个参数string表示被哈希的字符串,第二个参数hashLength表示哈希值的长度(224、256、384、512) 若任意参数为null,则返回null
  • 函数说明 表1 属性访问函数说明 值接入函数 函数说明 tableName.compositeType.field 选择单个字段,通过名称访问Apache Flink复合类型(如Tuple,POJO等)的字段并返回其值。 tableName.compositeType.* 选择所有字段,将Apache Flink复合类型(如Tuple,POJO等)和其所有直接子类型转换为简单表示,其中每个子类型都是单独的字段。
  • 函数说明 表1 值构建函数说明 值构建函数 函数说明 ROW(value1, [, value2]*) (value1, [, value2]*) 根据一系列值创建ROW ARRAY ‘[’ value1 [, value2 ]* ‘]’ 根据一系列值创建数组 MAP ‘[’ key1, value1 [, key2, value2]* ‘]’ 根据一系列值创建MAP 其键值对为(key1, value1),(key2, value2)
  • 函数说明 表1 集合函数说明 集合函数 函数说明 CARDINALITY(array) 返回数组中元素个数 array ‘[’ integer ‘]’ 返回数组索引为integer的元素。索引从1开始 ELEMENT(array) 返回数组中的唯一元素。 若数组为空,则返回null 若数组中元素个数大于1,则抛出异常 CARDINALITY(map) 返回map中键值对的条数 map ‘[’ key ‘]’ 返回map中key所对应的值
  • 详细样例代码 /** source **/ CREATE TABLE car_infos (cast_int_to_string int, cast_String_to_int string, case_string_to_timestamp string, case_timestamp_to_date timestamp(3)) WITH ( 'connector.type' = 'dis', 'connector.region' = 'xxxxx', 'connector.channel' = 'dis-input', 'format.type' = 'json' ); /** sink **/ CREATE TABLE cars_infos_out (cast_int_to_string string, cast_String_to_int int, case_string_to_timestamp timestamp(3), case_timestamp_to_date date) WITH ( 'connector.type' = 'dis', 'connector.region' = 'xxxxx', 'connector.channel' = 'dis-output', 'format.type' = 'json' ); /** 统计car的静态信息 **/ INSERT INTO cars_infos_out SELECT cast(cast_int_to_string as string), cast(cast_String_to_int as int), cast(case_string_to_timestamp as timestamp), cast(case_timestamp_to_date as date) FROM car_infos;
  • 示例 将amount值转换成整型。 insert into temp select cast(amount as INT) from source_stream; 表1 类型转换函数示例 示例 说明 示例 cast(v1 as string) 将v1转换为字符串类型,v1可以是数值类型,TIMESTAMP/DATE/TIME。 表T1: | content (INT) | | ------------- | | 5 | 语句: SELECT cast(content as varchar) FROM T1; 结果: "5" cast (v1 as int) 将v1转换为int, v1可以是数值类型或字符类。 表T1: | content (STRING) | | ------------- | | "5" | 语句: SELECT cast(content as int) FROM T1; 结果: 5 cast(v1 as timestamp) 将v1转换为timestamp类型,v1可以是字符串或DATE/TIME。 表T1: | content (STRING) | | ------------- | | "2018-01-01 00:00:01" | 语句: SELECT cast(content as timestamp) FROM T1; 结果: 1514736001000 cast(v1 as date) 将v1转换为date类型, v1可以是字符串或者TIMESTAMP。 表T1: | content (TIMESTAMP) | | ------------- | | 1514736001000 | 语句: SELECT cast(content as date) FROM T1; 结果: "2018-01-01" Flink作业不支持使用CAST将“BIGINT”转换为“TIMESTAMP”,可以使用to_timestamp进行转换。
  • TO_DATE 功能描述 参数语法说明,本函数将string2格式的日期字符串string1转换为DATE类型。 语法说明 DATE TO_DATE(string1[, string2]) 入参说明 参数名 数据类型 参数说明 string1 STRING SQL时间戳形式的字符串。不符合格式的字符串会执行报错。 string2 STRING 字符串格式。如果不指定该参数,则默认为'yyyy-MM-dd' 。 示例 测试语句 SELECT TO_DATE('1997-04-25') AS `result`, TO_DATE('1997:04:25', 'yyyy-MM-dd') AS `result2`, TO_DATE('1997-04-25 00:00:00', 'yyyy-MM-dd HH:mm:ss') AS `result3` FROM testtable; 测试结果 result result2 result3 1997-04-25 1997-04-25 1997-04-25
  • TO_TIMESTAMP 功能描述 将string2格式的日期时间字符串string1转换为TIMESTAMP类型返回。 语法说明 TIMESTAMP TO_TIMESTAMP(string1[, string2]) 入参说明 参数名 数据类型 参数说明 string1 STRING SQL时间戳形式的字符串。不符合格式的字符串会返回NULL。 string2 STRING 日期字符串格式。如果该参数不指定,则默认为'yyyy-MM-dd HH:mm:ss' 。 示例 测试语句 SELECT TO_TIMESTAMP('1997-04-25', 'yyyy-MM-dd') AS `result`, TO_TIMESTAMP('1997-04-25 00:00:00') AS `result2`, TO_TIMESTAMP('1997-04-25 00:00:00', 'yyyy-MM-dd HH:mm:ss') AS `result3` FROM testtable; 测试结果 result result2 result3 1997-04-25 00:00 1997-04-25 00:00 1997-04-25 00:00
  • UNIX_TIMESTAMP(string1[, string2]) 功能描述 参数语法说明,本函数将以string2格式的时间字符串string1转为Unix 时间戳(以秒为单位)。以BIGINT类型返回。 语法说明 BIGINT UNIX_TIMESTAMP(string1[, string2]) 入参说明 参数名 数据类型 参数说明 string1 STRING SQL时间戳形式的字符串。不符合string2参数格式的字符串语法会报错。 string2 STRING 时间字符串格式。如果不指定该参数,则默认为'yyyy-MM-dd HH:mm:ss' 。 示例 测试语句 SELECT UNIX_TIMESTAMP('1997-04-25', 'yyyy-MM-dd') AS `result`, UNIX_TIMESTAMP('1997-04-25 00:00:10', 'yyyy-MM-dd HH:mm:ss') AS `result2`, UNIX_TIMESTAMP('1997-04-25 00:00:00') AS `result3` FROM testtable; 测试结果 result result2 result3 861897600 861897610 861897600
  • FROM_UNIXTIME 功能描述 参考语法说明,本函数根据时间戳numeric和当前时区返回string格式的时间。 语法说明 STRING FROM_UNIXTIME(numeric[, string]) 入参说明 参数名 数据类型 参数说明 numeric BIGINT 内部时间戳值,表示自'1970-01-01 00:00:00' UTC 以来的秒数,值可以由UNIX_TIMESTAMP() 函数生成。 string STRING 时间字符串格式。如果该参数不指定,则默认为'yyyy-MM-dd HH:mm:ss'。 示例 测试语句 SELECT FROM_UNIXTIME(44) AS `result`, FROM_UNIXTIME(44, 'yyyy:MM:dd') AS `result2` FROM testtable; 测试结果 result result2 1970-01-01 08:00:44 1970:01:01
  • TIMESTAMPADD 功能描述 参考语法说明,本函数功能为将整型interval与timeintervalunit组成的结果添加到timepoint中,并返回添加后的日期时间。 TIMESTAMPADD函数返回结果与timepoint相同。例外场景为:如果timepoint输入类型为TIMESTAMP,也可以将TIMESTAMPADD函数返回结果插入到DATE类型的表字段中。 语法说明 TIMESTAMP(3)/DATE/TIME TIMESTAMPADD(timeintervalunit, interval, timepoint) 入参说明 参数名 数据类型 参数说明 timeintervalunit TIMEUNIT 时间单位。 interval INT 整型的时间间隔。 timepoint TIMESTAMP/DATE/TIME 时间点 示例 测试语句 SELECT TIMESTAMPADD(WEEK, 1, DATE '1997-04-25') AS `result`, TIMESTAMPADD(QUARTER, 1, TIMESTAMP '1997-04-25 10:11:12') AS `result2`, TIMESTAMPADD(SECOND, 2, TIME '10:11:12') AS `result3` FROM testtable; 测试结果 result result2 result3 1997-05-02 如果该字段插入到TIMESTAMP类型的表字段中,则返回:1997-07-25T10:11:12 如果该字段插入到DATE类型的表字段中,则返回:1997-07-25 10:11:14
  • CONVERT_TZ 功能描述 参考语法说明,本函数将日期时间string1(具有默认ISO时间戳格式'yyyy-MM-dd HH:mm:ss' )从时区string2转换为时区string3的值,结果以STRING类型返回。 语法说明 STRING CONVERT_TZ(string1, string2, string3) 入参说明 参数名 数据类型 参数说明 string1 STRING SQL时间戳形式的字符串,不符合格式的字符串会返回NULL。 string2 STRING 转换前时区。时区的格式应该是缩写如“PST”,全名如“Country A/City A”,或自定义ID如“GMT-08:00”。 string3 STRING 转换后时区。时区的格式应该是缩写如“PST”,全名如“Country A/City A”,或自定义ID如“GMT-08:00”。 示例 测试语句 SELECT CONVERT_TZ(1970-01-01 00:00:00, UTC, Country A/City A) AS `result`, CONVERT_TZ(1997-04-25 10:00:00, UTC, GMT-08:00) AS `result2` FROM testtable; 测试结果 result result2 1969-12-31 16:00:00 1997-04-25 02:00:00
  • TIMESTAMPDIFF 功能描述 参考语法说明,本函数功能为返回timepoint1和timepoint2之间的时间间隔,间隔的单位由第一个参数timepointunit指定。 语法说明 INT TIMESTAMPDIFF(timepointunit, timepoint1, timepoint2) 入参说明 参数名 数据类型 参数说明 timepointunit TIMEUNIT 时间单位。取值范围为: SECOND、MINUTE、HOUR、DAY、MONTH、YEAR。 timepoint1/timepoint2 TIMESTAMP/DATE 时间点。 示例 测试语句 SELECT TIMESTAMPDIFF(DAY, TIMESTAMP '1997-04-25 10:00:00', TIMESTAMP '1997-04-28 10:00:00') AS `result`, TIMESTAMPDIFF(DAY, DATE '1997-04-25', DATE '1997-04-28') AS `result2`, TIMESTAMPDIFF(DAY, TIMESTAMP '1997-04-27 10:00:20', TIMESTAMP '1997-04-25 10:00:00') AS `result3` FROM testtable; 测试结果 result result2 result3 3 3 -2
  • DATE_FORMAT 功能描述 将时间戳或时间戳格式的字符串转换为指定格式的日期字符串。 语法说明 STRING DATE_FORMAT(timestamp, dateformat) 入参说明 参数名 数据类型 参数说明 timestamp TIMESTAMP/STRING 时间点。 dateformat STRING 日期格式字符串。 示例 测试语句 SELECT DATE_FORMAT(TIMESTAMP '1997-04-25 10:11:12', 'yyyy-MM-dd HH:mm:ss') AS `result`, DATE_FORMAT(TIMESTAMP '1997-04-25 10:11:12', 'yyyy-MM-dd') AS `result2`, DATE_FORMAT(TIMESTAMP '1997-04-25 10:11:12', 'yy/MM/dd HH:mm') AS `result3`, DATE_FORMAT('1997-04-25 10:11:12', 'yyyy-MM-dd') AS `result4` FROM testtable; 测试结果 result result2 result3 result4 1997-04-25 10:11:12 1997-04-25 97/04/25 10:11 1997-04-25
  • FLOOR 功能描述 返回将时间点向下取值到指定时间单位的值。 语法说明 TIME/TIMESTAMP(3) FLOOR(timepoint TO timeintervalunit) 入参说明 参数名 数据类型 参数说明 timepoint TIMESTAMP/TIME SQL时间或SQL时间戳。 timeintervalunit TIMEUNIT 时间单位,类型可以是YEAR/QUARTER/MONTH/WEEK/DAY/DOY/HOUR/MINUTE/SECOND。 示例 测试语句。注意以下userDefined结果表语法说明,请参考userDefined结果表。 create table PrintSink ( message TIME, message2 TIME, message3 TIMESTAMP(3) ) with ( 'connector.type' = 'user-defined', 'connector.class-name' = 'com.swqtest.flink.sink.PrintSink'--注意修改为自定义的类,具体请参考userDefined结果表语法说明。 ); INSERT INTO PrintSink SELECT FLOOR(TIME '13:14:15' TO MINUTE) AS `result` FLOOR(TIMESTAMP '1997-04-25 13:14:15' TO MINUTE) AS `result2`, FLOOR(TIMESTAMP '1997-04-25 13:14:15' TO MINUTE) AS `result3`; 测试结果 PrintSink表的字段值分别为: message message2 message3 13:14 13:14 1997-04-25T13:14
  • CEIL 功能描述 返回将时间点向上取值到指定时间单位的值。 语法说明 TIME/TIMESTAMP(3) CEIL(timepoint TO timeintervalunit) 入参说明 参数名 数据类型 参数说明 timepoint TIMESTAMP/TIME SQL时间或SQL时间戳。 timeintervalunit TIMEUNIT 时间单位,类型可以是YEAR/QUARTER/MONTH/WEEK/DAY/DOY/HOUR/MINUTE/SECOND。 示例 测试语句。注意以下userDefined结果表语法说明,请参考userDefined结果表。 create table PrintSink ( message TIME, message2 TIME, message3 TIMESTAMP(3) ) with ( 'connector.type' = 'user-defined', 'connector.class-name' = 'com.swqtest.flink.sink.PrintSink'--注意修改为自定义的类,具体请参考userDefined结果表语法说明。 ); INSERT INTO PrintSink SELECT CEIL(TIME '13:14:15' TO MINUTE) AS `result` CEIL(TIMESTAMP '1997-04-25 13:14:15' TO MINUTE) AS `result2`, CEIL(TIMESTAMP '1997-04-25 13:14:15' TO MINUTE) AS `result3`; 测试结果 result result2 result3 13:15 13:15 1997-04-25T13:15
  • OVERLAPS 功能描述 若两个时间范围有重叠,则返回TRUE,反之,则返回FALSE。 语法说明 BOOLEAN (timepoint1, temporal1) OVERLAPS (timepoint2, temporal2) 入参说明 参数名 数据类型 参数说明 timepoint1/timepoint2 DATE/TIME/TIMESTAMP 时间点。 temporal1/temporal2 DATE/TIME/TIMESTAMP/INTERVAL 时间点或时间间隔。 (timepoint, temporal)在判断是否重叠时为闭区间。 temporal可以是DATE/TIME/TIMESTAMP也可以是INTERVAL。 当temporal是DATE/TIME/TIMESTAMP时,(timepoint, temporal)表示timepoint, temporal之间的时间间隔。允许temporal在timepoint之前,如(DATE '1997-04-25', DATE '1997-04-23')也合法。 当temporal是INTERVAL时,(timepoint, temporal)表示timepoint, timepoint+temporal之间的时间间隔。 必须保证(timepoint1, temporal1)和(timepoint2, temporal2)是同一数据类型的时间间隔。 示例 测试语句 SELECT (TIME '2:55:00', INTERVAL '1' HOUR) OVERLAPS (TIME '3:30:00', INTERVAL '2' HOUR) AS `result`, (TIME '2:30:00', INTERVAL '1' HOUR) OVERLAPS (TIME '3:30:00', INTERVAL '2' HOUR) AS `result2`, (TIME '2:30:00', INTERVAL '1' HOUR) OVERLAPS (TIME '3:31:00', INTERVAL '2' HOUR) AS `result3`, (TIME '9:00:00', TIME '10:00:00') OVERLAPS (TIME '10:00:00', INTERVAL '3' HOUR) AS `result4`, (TIMESTAMP '1997-04-25 12:00:00', TIMESTAMP '1997-04-25 12:20:00') OVERLAPS (TIMESTAMP '1997-04-25 13:00:00', INTERVAL '2' HOUR) AS `result5`, (DATE '1997-04-23', INTERVAL '2' DAY) OVERLAPS (DATE '1997-04-25', INTERVAL '2' DAY) AS `result6`, (DATE '1997-04-25', DATE '1997-04-23') OVERLAPS (DATE '1997-04-25', INTERVAL '2' DAY) AS `result7` FROM testtable; 测试结果 result result2 result3 result4 result5 result6 result7 true true false true false true true
  • DAYOFYEAR 功能描述 计算当前日期是一年中的第几天(返回1到366 之间的整数),以BIGINT类型返回。 语法说明 BIGINT DAYOFYEAR(date) 入参说明 参数名 数据类型 参数说明 date DATE SQL日期。 示例 测试语句 SELECT DAYOFYEAR(DATE '1997-04-25' ) AS `result` FROM testtable; 测试结果 result 115
  • HOUR 功能描述 从当前时间戳获取以24小时制的小时数进行返回,范围0-23(0 到 23 之间的整数),返回类型为BIGINT。 语法说明 BIGINT HOUR(timestamp) 入参说明 参数名 数据类型 参数说明 timestamp TIMESTAMP SQL时间戳。 示例 测试语句 SELECT HOUR(TIMESTAMP '1997-04-25 10:11:12') AS `result` FROM testtable; 测试结果 result 10
  • DAYOFWEEK 功能描述 计算当前日期是当前周的第几天(1 到 7之间的整数),以BIGINT类型返回。 需要注意这里自然周的起点是星期天,即每周的第1天是星期天,第2天是星期一,依次类推。 语法说明 BIGINT DAYOFWEEK(date) 入参说明 参数名 数据类型 参数说明 date DATE SQL日期。 示例 测试语句 SELECT DAYOFWEEK(DATE '1997-04-25') AS `result` FROM testtable; 测试结果 result 6
  • MINUTE 功能描述 返回当前时间戳中的分钟数(0 到 59 之间的整数),返回类型为BIGINT。 语法说明 BIGINT MINUTE(timestamp) 入参说明 参数名 数据类型 参数说明 timestamp TIMESTAMP SQL时间戳。 示例 测试语句 SELECT MINUTE(TIMESTAMP '1997-04-25 10:11:12') AS `result` FROM testtable; 测试结果 result 11
  • DAYOFMONTH 功能描述 计算当前日期是这个月的第几天(1到31之间的整数),以BIGINT类型返回。 语法说明 BIGINT DAYOFMONTH(date) 入参说明 参数名 数据类型 参数说明 date DATE SQL日期。 示例 测试语句 SELECT DAYOFMONTH(DATE '1997-04-25' ) AS `result` FROM testtable; 测试结果 result 25
  • SECOND 功能描述 返回当前时间戳中的秒数(0 到 59 之间的整数),返回类型为BIGINT。 语法说明 BIGINT SECOND(timestamp) 入参说明 参数名 数据类型 参数说明 timestamp TIMESTAMP SQL时间戳。 示例 测试语句 SELECT SECOND(TIMESTAMP '1997-04-25 10:11:12') AS `result` FROM testtable; 测试结果 result 12
  • TIMESTAMP 功能描述 将时间字符串转换为时间戳,时间字符串格式为:"yyyy-MM-dd HH:mm:ss[.fff]",以TIMESTAMP(3)类型返回。 语法说明 TIMESTAMP(3) TIMESTAMP string 入参说明 参数名 数据类型 参数说明 string STRING 时间戳字符串。 注意该字符串格式必须为"yyyy-MM-dd HH:mm:ss[.fff]",否则语义校验会报错。 示例 测试语句 SELECT TIMESTAMP "1997-04-25 13:14:15" AS `result`, TIMESTAMP "1997-04-25 13:14:15.032" AS `result2` FROM testtable; 测试结果 result result2 1997-04-25 13:14:15 1997-04-25 13:14:15.032
共100000条