我刚刚看到这个例子。我怎样才能解决这个问题。
Hive Metastore包含一个名为problem1的数据库,其中包含一个名为customer的表。可自定义包含9000万条客户记录(90,000,000),每条记录都有一个生日字段。
示例数据(生日以粗体显示)
1904287 Christopher Rodriguez Jan 11, 2003
96391595 Thomas Stewart 6/17/1969
2236067 John Nelson 08/22/54
对于解决方案表中的每一行,将生日字段的内容替换为“MM / DD / YY”格式的日期字符串。
MM是零填充月份(01-12),
DD是零填充日(01-31),
YY是零填充的2位数年份(00-99)
select from_unixtime(unix_timestamp(doj,'MM/dd/yyyy')) from temp1;
答案 0 :(得分:1)
你不能以通用的方式做,你必须测试每个可能的情况。 你可以这样做
select coalesce(
from_unixtime(unix_timestamp(doj ,"MMM dd, yyyy"), "MM/dd/yy"),
from_unixtime(unix_timestamp(doj ,"MM/dd/yyyy"), "MM/dd/yy"),
from_unixtime(unix_timestamp(doj ,"MM/dd/yy"), "MM/dd/yy")
)