TRY_TO_TIMESTAMP
TiDB Cloud Lake 中 TO_TIMESTAMP 的一个变体。它在将输入表达式转换为时间戳时执行与 TO_TIMESTAMP 相同的转换,但增加了错误处理支持:如果转换失败,则返回 NULL,而不是报错。
另请参阅:TO_TIMESTAMP
语法
-- Convert a string or integer to a timestamp
TRY_TO_TIMESTAMP(<expr>)
-- Convert a string to a timestamp using the given pattern
TRY_TO_TIMESTAMP(<expr>, <pattern>)
如果提供两个参数,该函数会根据第二个字符串中指定的模式,将第一个字符串转换为时间戳。要指定模式,请使用格式说明符。格式说明符可用于定义日期和时间值的目标格式。有关支持的格式说明符完整列表,请参阅日期和时间格式化。
别名
示例
SELECT TRY_TO_TIMESTAMP('2022-01-02 02:00:11'), TRY_TO_DATETIME('2022-01-02 02:00:11');
┌──────────────────────────────────────────────────────────────────────────────────┐
│ try_to_timestamp('2022-01-02 02:00:11') │ try_to_datetime('2022-01-02 02:00:11') │
├─────────────────────────────────────────┼────────────────────────────────────────┤
│ 2022-01-02 02:00:11 │ 2022-01-02 02:00:11 │
└──────────────────────────────────────────────────────────────────────────────────┘
SELECT TRY_TO_TIMESTAMP('2024-06-12 10:21:39', '%Y-%m-%d %H:%M:%S'), TRY_TO_DATETIME('2024-06-12 10:21:39', '%Y-%m-%d %H:%M:%S');
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ try_to_timestamp('2024-06-12 10:21:39', '%y-%m-%d %h:%m:%s') │ try_to_datetime('2024-06-12 10:21:39', '%y-%m-%d %h:%m:%s') │
├──────────────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┤
│ 2024-06-12 10:21:39 │ 2024-06-12 10:21:39 │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
SELECT TRY_TO_TIMESTAMP('datalake'), TRY_TO_DATETIME('datalake');
┌────────────────────────────────────────────────────────────┐
│ try_to_timestamp('datalake') │ try_to_datetime('datalake') │
├──────────────────────────────┼─────────────────────────────┤
│ NULL │ NULL │
└────────────────────────────────────────────────────────────┘
SELECT TRY_TO_TIMESTAMP('2024-06-12 10:21:39', '%y-%m-%d %H:%M:%S'), TRY_TO_DATETIME('2024-06-12 10:21:39', '%y-%m-%d %H:%M:%S');
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ try_to_timestamp('2024-06-12 10:21:39', '%y-%m-%d %h:%m:%s') │ try_to_datetime('2024-06-12 10:21:39', '%y-%m-%d %h:%m:%s') │
├──────────────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────┤
│ NULL │ NULL │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘