2016-03-23 3 views
0

У меня есть список дат, которые, к сожалению, непоследовательные:проблем с трансляцией несогласованных дат с 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 

Как я могу получить дрель для принятия нескольких форматов для преобразования.

ответ

2

Если вы хотите только дату, просто бросить самые левые из 10 символов:

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