[SQL] SQL ORDER BY 날짜 문제
SQLSQL ORDER BY 날짜 문제
이 문제를 해결 좀 도와주세요 수 있습니다. 나는 날짜별로 SQL 쿼리의 결과를 정렬하려고했지만 원하는 결과를받지 못했습니다.
내가 사용 쿼리는 다음과 같습니다
SELECT date FROM tbemp ORDER BY date ASC
결과는 다음과 같습니다
01/02/2009
03/01/2009
04/06/2009
05/03/2009
06/12/2008
07/02/2009
결과는해야한다 :
06/12/2008
03/01/2009
01/02/2009
07/02/2009
나는 위의 형식으로 날짜를 선택해야합니다.
여러분의 도움이 많이 감사합니다.
해결법
-
==============================
1.당신의 날짜 열이없는 타입의 날짜 만 VARCHAR의 것 같다. 당신은 정렬 할 때 날짜로 변환 할 수 있습니다 :
당신의 날짜 열이없는 타입의 날짜 만 VARCHAR의 것 같다. 당신은 정렬 할 때 날짜로 변환 할 수 있습니다 :
select date from tbemp order by convert(datetime, date, 103) ASC
스타일 103 = 일 / 월 / 년 (MSDN)
-
==============================
2.당신의 열이 날짜 열하지만 텍스트 컬럼 (VARCHAR / NVARCHAR 등) 아닌 것처럼 나에게 소리. 당신은 날짜가 아닌 문자열로 데이터베이스에 저장해야합니다.
당신의 열이 날짜 열하지만 텍스트 컬럼 (VARCHAR / NVARCHAR 등) 아닌 것처럼 나에게 소리. 당신은 날짜가 아닌 문자열로 데이터베이스에 저장해야합니다.
당신이 어떤 이유로 문자열로 저장해야하는 경우, 예를 들어 정렬 형식으로 저장 YYYY / MM / DD.
najmeddine에서 볼 수 있듯이, 당신은 모든 액세스에 열을 변환 할 수 있습니다,하지만 난 그렇게 열심히하지 않으려 고합니다. 이 데이터베이스가 더 많은 일을 할 것 - 데이터 자체에 대한 형의 적절한의 데이터를 가능한 때마다 등 적절한 인덱스를 계속 저장할 수 없습니다.
-
==============================
3.당신이 그러나 사용하고 나는 그것을 마이크로 소프트 SQL에서이 방법을 수행 할 것 DBMS 무엇인지 잘 모르겠 :
당신이 그러나 사용하고 나는 그것을 마이크로 소프트 SQL에서이 방법을 수행 할 것 DBMS 무엇인지 잘 모르겠 :
select [date] from tbemp order by cast([date] as datetime) asc
-
==============================
4.이 나를 위해 작동합니다 :
이 나를 위해 작동합니다 :
SELECT하여 DateField myTable에 FROM ORDER BY의 CONVERT (DATE,하여 DateField) ASC
-
==============================
5.대답에 따라 당신에게 도움이 될 수 있습니다
대답에 따라 당신에게 도움이 될 수 있습니다
SELECT 절에 날짜 식별자 만 사용 TO_CHAR () 함수에 의해 날짜 순서를 수행하고 날짜를 선택 절에 다른 식별자를 사용
EG
SELECT TO_CHAR(DISPDATE1,'DD/MM/YYYY') AS DISPDATE, SUM(APPLCOUNT) AS APPLIED, SUM(CONFCOUNT) AS CONFIRMED FROM ( SELECT COUNT(ID) AS APPLCOUNT, 0 AS CONFCOUNT, STUDENT.APPLIED_ON AS DISPDATE1 FROM STUDENT WHERE STUDENT.ID = P_ID GROUP BY STUDENT.APPLIED_ON UNION SELECT 0 AS APPLCOUNT, COUNT(ID) AS CONFCOUNT, STUDENT.CONFIRMED_ON AS DISPDATE1 FROM STUDENT WHERE STUDENT.ID = P_ID GROUP BY STUDENT.CONFIRMED_ON ) GROUP BY DISPDATE1 ORDER BY DISPDATE1;
-
==============================
6.SELECT CONVERT (CHAR (19), CAST 날짜 AS (일자), 101) 일]으로서 tbemp FROM ORDER BY 변환 (날짜, 날짜, 101) ASC
SELECT CONVERT (CHAR (19), CAST 날짜 AS (일자), 101) 일]으로서 tbemp FROM ORDER BY 변환 (날짜, 날짜, 101) ASC
-
==============================
7.날 위해이 작품을 사용해보십시오
날 위해이 작품을 사용해보십시오
select * from `table_name` ORDER BY STR_TO_DATE(start_date,"%d-%m-%Y") ASC
어디 시작일은 필드의 이름입니다
-
==============================
8.이것은, MySQL은 PHP에서 당신을 도움이 될 수 있습니다.
이것은, MySQL은 PHP에서 당신을 도움이 될 수 있습니다.
//your date in any format $date = $this->input->post('txtCouponExpiry'); $day = (int)substr($date, 3, 2); $month = (int)substr($date, 0, 2); $year = (int)substr($date, 7, 4); $unixTimestamp = mktime(0, 0, 0, $year, $day, $month); // insert it into database 'date'->$unixTimestamp; //query for selecting order by date ASC or DESC select * from table order_by date asc;
-
==============================
9.이 시도
이 시도
Order by Convert(datetime,@date) desc
-
==============================
10.나는 자손 chonologic 위해 편집 여러 이벤트를 원했고, 난 그냥했다 :
나는 자손 chonologic 위해 편집 여러 이벤트를 원했고, 난 그냥했다 :
select TO_CHAR(startdate,'YYYYMMDD') dateorder, TO_CHAR(startdate,'DD/MM/YYYY') startdate, ... from ... ... order by dateorder desc
그것은 나를 위해 작동합니다. 그러나 반드시 모든 경우에 적합하지 ... 그냥 누군가를 도와 바랍니다!
from https://stackoverflow.com/questions/1545888/sql-order-by-date-problem by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 내부 대 하위 쿼리는 SQL 서버에 참여 (0) | 2020.05.12 |
---|---|
[SQL] 얼마나 많은 디스크 공간은 PostgreSQL의 DB를 사용하여 NULL 값을 저장하는 데 필요한? (0) | 2020.05.12 |
[SQL] PostgreSQL의에서 작은 따옴표와 큰 따옴표의 차이점은 무엇입니까? (0) | 2020.05.12 |
[SQL] SQL 명령 텍스트에서 데이터 집합에 직접 방법 (0) | 2020.05.11 |
[SQL] CTE 오류 : "유형 앵커 및 재귀 부분 사이에 일치하지 않습니다" (0) | 2020.05.11 |