0

在尝试在选择查询中解析月份之前,我想检查 sales_date 字段是否是有效日期:

现在,我正在这样做:如果 sales_date 不是有效日期,则查询会出错

SELECT CAST(YEAR(DATE(sales_date)) from sales

CASE sales_date is a valid date如果只有一行无效,我想做一些类似的事情来防止查询出错。

但是找不到执行此操作的 presto 功能。

4

1 回答 1

1

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
 
 
于 2021-12-03T22:27:16.240 回答