2017-11-16 1 views
0

"08.06.2017/10 : 20 : 46"과 같은 데이터가있는 열이 있습니다. 데이터 유형은 문자열입니다. 타임 스탬프로 변환하고 싶습니다. CAST ("08.06.2017/10 : 20 : 46"AS TIMESTAMP)를 사용해 보았지만 작동하지 않습니다. 변환 할 수 있습니까? 내가 시도 할 것이 문자열을 Timestamp로 변환하는 방법

STR_TO_DATE(string , format) 

는 귀하의 경우에는 Format specifiers

에서보세요 : 감사

MySQL 용
+0

아무도 도와주세요. – phalondon

+0

rbdms 당신이 사용하고 계십니까? mysql? –

답변

0

는, 당신은 다음과 같이 호출한다 STR_TO_DATE

라는 함수가있다 와 함께

STR_TO_DATE('08.06.2017/10:20:46','%d.%m.%Y/%H:%i:%s') 
,210

편집 : 임팔라를 들어, 어쨌든 ... 제거 여부를하는데있어 경우는 MySQL의 물건 미안 몰라,이 얻을 수있는 당신은 시작 :

cast(unix_timestamp('08.06.2017/10:20:46', "dd.MM.yyyy/HH:mm:ss") as timestamp) 

주조는 UNIX_TIMESTAMP 함수는 BIGINT를 반환하기 때문에, 오라클 SQL의 경우

+0

도와 주셔서 감사합니다. Unfornately SQL상의 MySQL은 임팔라에서 작동하지 않습니다. 임팔라는 mysql이 아닌 다른 SQL 기능을 사용합니다. – phalondon

+0

임팔라 참조로 내 답변을 편집 했으므로 문제에 대해 밝힐 수 있기를 바랍니다. –

+0

감사합니다. 훌륭합니다. unix_timestamp를 사용할 수있는 이유를 설명해 주시겠습니까? 이 함수는 datetime에서만 작동하지만 String에서는 작동합니다. dd.MM.yyyy/HH : mm : ss를 사용해야하는 이유는 무엇입니까? – phalondon

0

아래

사용 TO_DATE 기능을, (임 팔 라 날짜 함수에 대한 자세한 내용을 살펴 here을)

SELECT TO_DATE('08.06.2017/10:20:46','dd.mm.yyyy/hh:mi:ss') FROM DUAL;

이 문자열이있는 것을 전달 (DD.MM.YYYY/HH : MI : SS) 날짜 형식과 날짜와 ... 날짜 열을

0

하이브와 임팔라 거래를 변환 비슷한 방식으로. unix_timestamp 함수를 사용하여 비표준 날짜 형식을 승인 한 다음 from_unixtime 함수를 사용하여 시간 소인으로 변환해야합니다. 귀하의 예를 들어 아래 코드가 작동합니다.

SELECT from_unixtime(unix_timestamp('08.06.2017/10:20:46','dd.MM.yyyy/hh:mm:ss')); 
관련 문제