order by cast > PHP

본문 바로가기
사이트 내 전체검색

PHP

order by cast

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 7,569회 작성일 20-09-18 09:50

본문

숫자만 들어있는 컬럼이 있는데, 정렬을 해 보니,

1
 11
 12
 13
 2
 21

이런씩으로 정렬되는 경우를 본 적이 있을 것이다.
컬럼의 정의가 INT가 아닌 VARCHAR로 되어 있어서 그런 경우가 있다.
업무상 이렇게 데이터베이스를 설계할 경우도 있으니 잘잘못은 패스~ 하고

 이렇경우 어떻게 정렬하면 재대로 표현될까.. 하니...
MySQL에는 (CAST)연산자라는게 있다.

cast type의 종류는
binary
 char
 signed (부호있는 숫자)
date
 datetime
 time
 unsigned (부호없는 숫자)
등이 있다.

이용 방법은

 정렬할 때에는
select * from customers order by cast(customers_id as unsigned);

문자를 숫자로 변환할 때에는
select cast('1' as unsigned) as test
숫자를 문자로 변환할 때에는
select cast(2 as char(1)) as test

이렇게 이용하면 된다.


출처: https://dev114.tistory.com/295 [계약직]

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

Copyright © neion.co.kr All rights reserved.