2017-04-30 9 views
0

STR_TO_DATE 함수를 사용하여 시간 값이 포함 된 문자열의 서식을 지정하려고합니다. 시간 값은 다음과 같습니다.시 (0-23) 0이 아닌 + 분 (00-59) 예 : 800, 1245 또는 1535.이 값을 포맷하기 위해 MySQL5.5 문서에 설명 된대로 % k 시간 지정자를 사용하려고 시도했으나 시간에 선행 0이없는 경우에는 작동하지 않습니다.MySQL STR_TO_DATE 시간 서식 지정

작동하지 않음 :

+-----------------------------------+ 
| SELECT STR_TO_DATE("800","%k%i"); | 
+-----------------------------------+ 
| NULL        | 
+-----------------------------------+ 

작품은 예상대로 :

+------------------------------------+ 
| SELECT STR_TO_DATE("1855","%k%i"); | 
+------------------------------------+ 
| 18:55:00       | 
+------------------------------------+ 

+-----------------------------------+ 
| SELECT STR_TO_DATE("0800","%k%i");| 
+-----------------------------------+ 
| 08:00:00       | 
+-----------------------------------+ 
+0

, 세 줄 널 (null). – MontyPython

+0

MySQL 5.5에서 작업 중이며 콘솔 및 웹 GUI에서 문을 두 번 확인하고 위의 결과를 제공합니다. – Michael

답변

0

STR_TO_DATE는 DateTime 개체에 문자열로 변환 -하지 표시하는 문자열입니다. 당신은 형식 당신 이후로 날짜를 표시 할 경우, 사용 : 당신은 LPAD()을 사용할 수 있습니다

DATE_FORMAT(dateValue, "%k:%i") 
+0

파일에서 오는 문자열이 있고 Datetime 개체를 만들고 싶습니다. (이 문자열을 데이터베이스에 저장하기 위해) STR_TO_DATE가 올바른 함수입니다. – Michael

0

제로 선두 추가 : 나를 위해

SELECT STR_TO_DATE(LPAD("800", 4, 0), "%k%i");