0

询问:

SELECT date_parse(start_date, '%Y/%m/%d')
FROM sql_question_five_2 ;

日期格式在 csv 中如下所示: 20210531 作为字符串读入表中。

尝试了一些不同的方法来将其转换为日期 YYYY-MM-DD

4

2 回答 2

0

date_parse期望所有输入看起来像格式字符串,否则会抛出错误。你可以做这样的事情来避免这个问题:

SELECT IF(start_date = '', NULL, date_parse(start_date, '%Y/%m/%d'))
FROM sql_question_five_2

这可以防止字符串为空的情况,即出现错误时的情况。如果您有其他不符合格式的字符串,您也必须防范这些字符串。

如果是这种情况,您可以使用TRY捕获错误并返回的函数NULL

SELECT TRY(date_parse(start_date, '%Y/%m/%d'))
FROM sql_question_five_2
于 2021-09-23T08:07:39.190 回答
0

您的格式字符串需要与源值匹配。您的源代码中没有 /,因此您的格式字符串也不应该

于 2021-09-22T19:21:39.850 回答