varchar타입에 order by를 써야하는 경우 > 기술자료

본문 바로가기

사이트 내 전체검색

varchar타입에 order by를 써야하는 경우 > 기술자료

MySQL varchar타입에 order by를 써야하는 경우

페이지 정보


본문

varchar는 문자열을 받을때 쓰는것이므로 order by가 원하는대로 되지 않습니다.
해결 방법은 해당 컬럼을 숫자로 변환해서 order by를 하면 원하는 순서대로 정렬할 수 있습니다.

1. cast함수를 활용한 형변환
CAST 함수를 이용하여 명시적으로 변환하는 방법입니다.. 
이때 DECIMAL 함수도 같이 사용합니다.

ex) order by cast(wr_5 as decimal( 3, 0)) desc
    deciaml을 쓸때 앞은 자릿수, 뒤에는 소수점 자릿수
    

2. 묵시적인 형변환
함수를 사용하여 명시적으로 형 변환하는 것이 아닌 묵시적으로 형 변환하는 방법입니다. 
varchar 컬럼에 + 연산자를 이용하여 암묵적인 형 변환을 합니다.

ex) order by wr_5+0 desc  


3. 숫자와 문자가 혼재된 경우
order by codename asc
+-------------------+
| name                    |
+-------------------+
| 1.면                      |
| 10.O                     | 
| 11.마                    |
| 12.브                    |
| 2.린                      |
| 3.의                      |
| 4.계                      |
| 5.방                      |
| 6.커                      |
| 7.누                      |
| 8.패                      |
| 9.부                       |
+-------------------+

order by codename *1 asc
+-------------------+
| codename          |
+-------------------+
| 1.면          |
| 2.린            |
| 3.의        |
| 4.계        |
| 5.방   |
| 6.커        |
| 7.누        |
| 8.패   |
| 9.부          |
| 10.O |
| 11.마     |
| 12.브     |
+-------------------+


참고자료
https://devshoveling.tistory.com/entry/varchar타입에-order-by를-써야하는-경우
https://madplay.github.io/post/mysql-sort-varchar-as-float#google_vignette
https://www.daylife.co.kr/139

댓글목록

등록된 댓글이 없습니다.


Total 2,643건 1 페이지
  • RSS
기술자료 목록
2643
영카트   109  2026-03-22 22:26 ~ 2026-03-24 12:36  
2642
영카트   166  2026-03-20 14:42 ~ 2026-03-20 14:52  
2641
그누보드   367  2026-02-03 11:54 ~ 2026-02-03 11:58  
2640
그누보드   386  2026-02-03 11:51  
2639
그누보드   549  2026-02-02 19:40 ~ 2026-02-03 11:44  
2638
Search   872  2025-10-15 17:04 ~ 2025-10-23 00:29  
2637
MySQL   1151  2025-08-28 17:54 ~ 2025-08-28 17:55  
2636
PHP   2586  2025-02-07 09:27 ~ 2025-02-07 16:59  
2635
그누보드   2248  2025-02-07 08:55 ~ 2025-02-07 17:04  
2634
그누보드   2428  2024-11-26 21:14 ~ 2024-11-26 21:22  
2633
그누보드   4824  2024-11-22 10:52 ~ 2024-11-22 11:03  
2632
호스팅   2878  2024-11-19 14:41 ~ 2024-11-19 21:17  
2631
Linux   2093  2024-11-18 15:45 ~ 2024-11-18 15:48  
2630
일반   1863  2024-11-15 16:45 ~ 2024-11-15 16:46  
2629
Secure   2020  2024-11-06 18:48 ~ 2024-11-06 18:50  
2628
영카트   2374  2024-10-21 13:44 ~ 2025-08-29 23:40  
2627
전자결제   3872  2024-09-05 09:30  
2626
MySQL   2862  2024-03-29 14:14 ~ 2024-03-29 14:14  
2625
그누보드   3123  2024-02-23 18:40 ~ 2024-02-24 06:13  
2624
JavaScript   3117  2024-02-16 18:50 ~ 2024-02-16 20:37  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2026 해피정닷컴. All Rights Reserved.