尝试:
select concat(cast(201201 as string),‘01’);返回20120101
然而:
select to_date(concat(cast(201201 as string),‘01’));返回null。
我怎么能告诉蜂巢对待…的结果
我认为你可以用链式转换来做到这一点。 。 。字符串到unix时间戳到时间戳到日期:
select to_date(from_unixtime(unix_timestamp(concat(cast(201201 as string), '01'), 'YYYYMMDD')));
'CAST'运算符允许在兼容类型之间进行转换。但是,值必须是可接受的输入才能创建目标类型的值。
因此,我希望只有当该字符串表示与创建文字DATE实例相同的日期时,才能将字符串转换为DATE值。尝试标准ISO 8601表示:
SELECT CAST(concat('2012-01', '-01') AS DATE) AS dolor_date
如果字符串值的格式不同,您可能需要使用其他字符串操作函数来获取正确的格式:
SELECT CAST( concat( substring(lorem_string, 1, 4), '-', substring(lorem_string, 5, 2), '-', substring(lorem_string, 7, 2) ) AS DATE) AS dolor_date