有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

函数

注意
如果使用 CAST() 函数,将时间段 INTERVAL 转为数字,则结果会是字面值(可能不符合预期)。例如 CAST(INTERVAL '1234' MINUTE AS BIGINT),则结果会是字面值1234,而非时间段表示的毫秒值。
函数名
功能描述
CAST(value AS type)
将某个值转为 type 类型,例如 CAST(hello AS VARCHAR) 会将 hello 字段转为 VARCHAR 类型。
CAN_CAST_TO(str, type)
判断 str 字符串是否可以被转换为 type 指定的类型,返回值为布尔型。返回值可以在 CASE 语句中作为条件使用。例如 CAN_CAST_TO('123456', 'INTEGER') 则返回 True,而 CAN_CAST_TO('a145', 'DOUBLE') 则返回 False。
TO_TIMESTAMP(string, simple_format)
以 Java 的 SimpleDateFormat 支持的时间格式化模板 simple_format,将 string 字符串格式化为 Timestamp 类型的时间戳。默认以东八区为准。 例如 TO_TIMESTAMP(ts, 'yyyy-MM-dd HH:mm:ss')
DATE_FORMAT_SIMPLE(timestamp, simple_format)
BIGINT(Long)类型的字段(毫秒为单位的 Unix 时间戳)以 Java 的 SimpleDateFormat 支持的时间格式化模板转为字符串形式。例如 DATE_FORMAT_SIMPLE(unix_ts, 'yyyy-MM-dd HH:mm:ss') 会返回 "2020-01-01 12:13:14" 这样格式的字符串。
DATE_FORMAT(timestamp, format)
Timestamp 类型的字段以 Java 的 SimpleDateFormat 支持的时间格式化模板转为字符串形式。例如 DATE_FORMAT(ts, 'yyyy-MM-dd HH:mm:ss') 会返回 "2020-01-01 12:13:14"。
TIMESTAMP_TO_LONG(timestamp) 或 TIMESTAMP_TO_LONG(timestamp, mode)
将某个 TIMESTAMP 类型的参数转为 BIGINT (Long) 类型的值。若 mode 为 'SECOND',则转为以秒来计数的 Unix 时间戳,例如1548403425。若 mode 为其他值或者省略,则转为以毫秒计数的 Unix 时间戳,例如1548403425512。

示例

CAST

功能描述:将某个值转为 type 类型。 语法:CAST(value AS type) 示例测试语句:SELECT CAST(var1 AS VARCHAR) FROM TEST; 测试数据和结果:
测试数据(INT var1)
测试结果 VARCHAR
58
'58'

CAN_CAST_TO

功能描述:判断 str 字符串是否可以被转换为 type 指定的类型,返回值为布尔型。返回值可以在 CASE 语句中作为条件使用。 语法:CAN_CAST_TO(str, type) 示例测试语句:SELECT CAN_CAST_TO(var1,type) FROM Test; 测试数据和结果:True
测试数据(VARCHAR var1)
测试数据(VARCHAR type)
测试结果(BOOLEAN)
123456
INTEGER
true

DATE_FORMAT_SIMPLE

功能描述:BIGINT(Long)类型的字段(必须是以毫秒为单位的 Unix 时间戳)以 Java 的 SimpleDateFormat 支持的时间格式化模板转为字符串形式(输出时区为:GMT+8)。 语法:DATE_FORMAT_SIMPLE(timestamp, simple_format) 示例测试语句:SELECT DATE_FORMAT_SIMPLE(unix_ts,'yyyy-MM-dd HH:mm:ss') FROM Test; 测试数据和结果:
测试数据(unix_ts)
测试结果 VARCHAR
1627997937000
2021-08-03 21:38:57

DATE_FORMAT

功能描述:Timestamp 类型的字段以 Java 的 SimpleDateFormat 支持的时间格式化模板转为字符串形式。 语法:DATE_FORMAT(timestamp, format) 示例测试语句:SELECT DATE_FORMAT(timestamp,format) FROM Test; 测试数据和结果:
测试数据(timestamp)
测试数据(format)
测试结果 VARCHAR
2021-01-01 12:13:14
yyMMdd
210101
2021-01-01 12:13:14
yyyyMMdd
20210101