在尝试在选择查询中解析月份之前,我想检查 sales_date 字段是否是有效日期:
现在,我正在这样做:如果 sales_date 不是有效日期,则查询会出错
SELECT CAST(YEAR(DATE(sales_date)) from sales
CASE sales_date is a valid date
如果只有一行无效,我想做一些类似的事情来防止查询出错。
但是找不到执行此操作的 presto 功能。
在尝试在选择查询中解析月份之前,我想检查 sales_date 字段是否是有效日期:
现在,我正在这样做:如果 sales_date 不是有效日期,则查询会出错
SELECT CAST(YEAR(DATE(sales_date)) from sales
CASE sales_date is a valid date
如果只有一行无效,我想做一些类似的事情来防止查询出错。
但是找不到执行此操作的 presto 功能。
try
如果日期转换失败,您可以使用which 将返回 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 |