MySQL에서 특정 형식의 날짜 정렬을 처리하는 방법은 무엇입니까?
MySQL에서 날짜를 정렬할 때 일반적인 접근 방식은 다음과 같습니다. YYYY-MM-DD와 같은 형식에는 DESC 수정자를 사용합니다. 그러나 DD/MM/YYYY와 같은 다른 날짜 형식을 처리할 때 혼란이 발생합니다.
날짜를 DD/MM/YYYY 형식으로 정렬하는 특정 경우 제공된 쿼리가 예상대로 작동하지 않습니다. 쿼리는 DATE_FORMAT(날짜, '%Y%m%d') 표현식에 DATE_FORMAT 함수를 직접 적용하려고 시도하는데, 이는 원하는 결과와 일치하지 않습니다.
이 문제를 해결하려면 두 가지 방법이 있습니다. 기본 옵션:
출력 날짜 형식만 지정: 목표가 다음과 같은 경우 실제 날짜 값을 변경하지 않고 날짜를 DD/MM/YYYY 형식으로 표시하려는 경우에만 다음 쿼리를 사용할 수 있습니다.
SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate FROM table ORDER BY date DESC LIMIT 0,14
이 쿼리에서는 DATE_FORMAT 함수가 날짜 열에 적용됩니다. 데이터 검색 프로세스 중 '%d/%m/%Y' 형식입니다. 결과는 기본 날짜 값을 변경하지 않고 원하는 형식으로 날짜를 표시합니다.
일, 월, 연도별 실제 정렬: 정말로 원하는 경우 DD/MM/YYYY에서 제안한 대로 일별, 월별, 연도별로 결과를 정렬하려면 사용자 정의 비교 기능을 사용해야 합니다. 이 기능은 날짜의 개별 구성요소를 추출하고 사전순 비교를 수행합니다. 다음은 이 접근 방식을 구현하는 쿼리 예시입니다.
SELECT * FROM table ORDER BY FORMAT_DAYOFMONTH(Date), FORMAT_MONTH(Date), FORMAT_YEAR(Date) DESC LIMIT 14
위 내용은 MySQL에서 DD/MM/YYYY 형식의 날짜를 올바르게 주문하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!