使用Apache Drill投射不一致日期的问题

时间:2016-03-23 16:00:46

标签: sql date datetime casting apache-drill

我有不幸的日期列表:

3/09/2015 15:20:03
29/04/2014
06/03/2012
31/12/2015 06:29:40
13/05/2014
20/02/2010
01/10/2015 23:46:12
17/11/2014
30/10/2015 22:28:00
14/02/2014

我试图将这些对象转换为一致的格式:日期或时间戳,但不能这样做:

 SELECT TO_TIMESTAMP(DATE_OF_BIRTH, 'dd/MM/yyyy HH:mm:ss') FROM PERSON

 SELECT TO_DATE(DATE_OF_BIRTH, 'dd/MM/yyyy') FROM PERSON 

显示结果错误。

UserRemoteException: SYSTEM ERROR: IllegalArgumentException: I nvalid format: "13/09/2015 15:20:03" is malformed at " 15:20:03" Fragment 0:0

如何让钻取接受多种转换格式。

1 个答案:

答案 0 :(得分:2)

如果您只想要日期,只需投出最左边的10个字符:

SELECT TO_DATE(SUBSTR(DATE_OF_BIRTH, 1, 10), 'dd/MM/yyyy')
FROM PERSON 
相关问题