我可以验证字符串是 Presto 中的有效日期吗
Posted
技术标签:
【中文标题】我可以验证字符串是 Presto 中的有效日期吗【英文标题】:Can I validate that a string is a valid date in Presto 【发布时间】:2022-01-10 05:35:10 【问题描述】:在尝试在选择查询中解析月份之前,我想检查 sales_date 字段是否为有效日期:
现在,我正在这样做:如果 sales_date 不是有效日期,则查询会出错
SELECT CAST(YEAR(DATE(sales_date)) from sales
我想做类似CASE sales_date is a valid date
的操作,以防止在只有一行无效时查询出错。
但找不到执行此操作的 presto 函数。
【问题讨论】:
【参考方案1】:您可以使用try
,如果日期转换失败,它将返回 null:
WITH dataset(ts) AS (
values
('2021-08-22'),
('2021-08-22'),
('2021-22-08'),
('not a date')
)
select try(date(ts))
from dataset
输出:
_col0 |
---|
2021-08-22 |
2021-08-22 |
【讨论】:
以上是关于我可以验证字符串是 Presto 中的有效日期吗的主要内容,如果未能解决你的问题,请参考以下文章