配置单元的hour函数返回null。下面是我的问题从hivetable中选择小时(列名称)列名称的数据类型为字符串,值的格式为hh:mm:ss
n53p2ov01#
我建议您检查col\u name格式是否正确,它应该有一个时间戳格式,或者是'hh:mm:ss',因为在字符串time上使用'hour'函数就可以了。示例:hour('hh:mm:ss')
hive > select hour('12:58:59') as hour; OK hour 12 Time taken: 0.061 seconds, Fetched: 1 row(s)
mzsu5hc02#
使用hivetable中的select hour(from unixtime(unix\u timestamp(col\u name,'hh:mm:ss'))可以解决此问题。但我不知道为什么我们需要这样做,当输入值是字符串和正确的格式是“hh:mm:ss”
2条答案
按热度按时间n53p2ov01#
我建议您检查col\u name格式是否正确,它应该有一个时间戳格式,或者是'hh:mm:ss',因为在字符串time上使用'hour'函数就可以了。示例:hour('hh:mm:ss')
mzsu5hc02#
使用hivetable中的select hour(from unixtime(unix\u timestamp(col\u name,'hh:mm:ss'))可以解决此问题。
但我不知道为什么我们需要这样做,当输入值是字符串和正确的格式是“hh:mm:ss”