mysql 버전이 3.20 입니다.
select * from Table order by no asc 쿼리 인데요
no 필드가 int 타입이 아니라 varchar 타입이라
1,10,11,2,3,4,5 이렇 형태로 정렬해서 들고와서 order by 에서 형 변환 할려니 안되네요
딱히 해결책이 한자리 미만에 대해선 update 를 해줘야 될까요 ?
안녕하세요 박성원입니다. 굳이 형변환을 하셔서 sorting작업을 하신다면 매우 힘들고 번거로운 작업이 되긋습니다. 3.20에서는 DATA Type 변경 함수를 지원하지 않기때문에 좀 생각을 해봐야겟네요 no 필드가 왜 varchar Type인지는 모르겠으나, 어감상 no 컬럼은 pk 같은데요 해당 컬럼이 pk로 잡혀있다면 굳이 형변환을 가할 필요는 없다고 생각되네요 이미 sorting되어있는 컬럼을 다시 재 sorting한다는건 시간낭비인듯합니다. explain select 를 통해 query를 체크해보시고 차선책을 강구해야할듯합니다. ^^ 그럼 리플릴레이를 시작해봐요 ^^
젤 좋은 방법은 no 컬럼타입을 숫자형으로 바꾸는것이지만 그게 여의치 않으면.... 통빡 굴려서 다음과 같이 처리해볼수 있기도 합니다. select * from table order by no + 0 asc ^^;;;; 흠냐...