询问:
SELECT date_parse(start_date, '%Y/%m/%d')
FROM sql_question_five_2 ;
日期格式在 csv 中如下所示: 20210531 作为字符串读入表中。
尝试了一些不同的方法来将其转换为日期 YYYY-MM-DD
询问:
SELECT date_parse(start_date, '%Y/%m/%d')
FROM sql_question_five_2 ;
日期格式在 csv 中如下所示: 20210531 作为字符串读入表中。
尝试了一些不同的方法来将其转换为日期 YYYY-MM-DD
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
您的格式字符串需要与源值匹配。您的源代码中没有 /,因此您的格式字符串也不应该