2012-10-01 2 views
0
내 SQL 데이터베이스에 일부 날짜를 저장해야

, 문제는 기본 저장이MySql에서 DATE 형식을 변경하는 방법이 있습니까?

YYYY-MM-DD 

것을 내가

DD-MM-YYYY 

내 유일한 해결책으로 VARCHAR로 날짜를 저장하는 것이 었습니다 (10)가 필요합니다 그리고 그것은 꽤 잘하고 있지만, 지금은 DATE까지 질의를 주문할 수 없으며, 가장 오래된 것부터 최신 것까지 주문해야합니다 ...

아무도 도와 줄 수 있습니까?

+1

왜 타임 스탬프에 저장하고 적절하게 변경합니까? http://www.w3schools.com/sql/func_date_format.asp에서 목록을 확인할 수 있습니다. – swapnesh

+3

* 표시 * 목적을 위해 필요한 것은 * 데이터 저장 방법을 변경해서는 안됩니다. 해당 datetime 데이터가 있으면 적절한 datetime 형식으로 저장하십시오. 데이터베이스는 datetime 값을 적절하게 정렬하는 방법을 알고 있습니다. 그런 다음 값을 다른 사람에게 보여주고 싶다면 서식을 지정하십시오 *. 데이터베이스에서 datetime 오류의 가장 큰 원인은 사람들이 문자열을 사용하여 문자열을 표현하려고 할 때입니다. –

+1

Upvoted @swapnesh,하지만 조금 명확히하고 싶습니다. MySQL에 날짜를 저장하지 마십시오. _facts_를 저장합니다. 그리고 특정 지점에서 어떤 이벤트가 발생했다는 사실은이 시점을 'YYYY-MM-DD'또는 'DD-MM-YYYY'또는 'MM-DD- YYYY ', 신의 축복이 형식을 발명 한 사람. 이 사실을 어떻게 표현해야하는지에 대한 모든 세부 사항이 있으며 100 회 99 시간에 DB에 표현 관련 세부 정보 (사실이 아님)를 저장하면 안됩니다. – raina77ow

답변

2

MySQL 날짜 또는 그 변형 중 하나 인 DATETIME, TIMESTAMP 및 DATE의 기본 날짜 형식을 변경할 방법이 없습니다.

설명서를 인용 :

Although MySQL tries to interpret values in several formats, dates always must be given 
in year-month-day order (for example, '98-09-04'), rather than in the month-day-year or 
day-month-year orders commonly used elsewhere 
(for example, '09-04-98', '04-09-98').

은 당연히 자신의 게시물에 @Micheal가 제시 한 기본 DATE_FORMAT() 기능을 고려하십시오.

2

네이티브 DATE_FORMAT(date,format) 기능을 사용하십시오.

SELECT DATE_FORMAT(date_column, '%d-%e-%Y') FROM your_table; 
관련 문제