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。 |
测试数据(INT var1) | 测试结果 VARCHAR |
58 | '58' |
测试数据(VARCHAR var1) | 测试数据(VARCHAR type) | 测试结果(BOOLEAN) |
123456 | INTEGER | true |
测试数据(unix_ts) | 测试结果 VARCHAR |
1627997937000 | 2021-08-03 21:38:57 |
测试数据(timestamp) | 测试数据(format) | 测试结果 VARCHAR |
2021-01-01 12:13:14 | yyMMdd | 210101 |
2021-01-01 12:13:14 | yyyyMMdd | 20210101 |
本页内容是否解决了您的问题?