我有一个名为 Date_of_Birth
其中日期格式为 1978-07-23
.
我尝试这个代码分裂,但它不工作。
SELECT
case when split(Date_of_Birth,'\\-')[2] < 1900
THEN '1900-01-01 00:00:00'
else cast(from_unixtime(UNIX_TIMESTAMP(Date_of_Birth, 'M/d/yyyy')) as string) end as DOB
from rd_hr.wd_employees_history
1条答案
按热度按时间dauxcl2d1#
将日期转换为
YYYY/MM/DD
,取“1900-01-01”和出生日期之间的最大值:铸造的日期,因为它将返回
NULL
,请参见:https://cwiki.apache.org/confluence/display/hive/languagemanual+types#languagemanualtypes-时间戳时间戳