2010-04-15 5 views
0

숫자 값을 포함하는 varchar 인 필드 receiptno이 있으며이를 정렬하려고합니다. 문자열로 정렬하면 잘못된 순서가 지정됩니다. 그것을 정수로 정렬하려고합니다. 질의 자체에서 정수로 정렬 할 수 있도록 order by 절에서 정수로 변환하는 방법이 있습니까?숫자 순서 지정을 사용하여 varchar 열을 정렬하는 방법

답변

5

당신은 필드 형식 변환 cast 또는 convert를 사용할 수 있습니다

... ORDER BY CAST(receiptno AS INTEGER) ASC

편집 죄송합니다, 고정 구문

+0

주셔서 감사합니다 대답, MySQL의 캐스팅 함수에 정수가 문제가 있으므로 서명을 사용했습니다. 지금 일하고있어. ORDER BY CAST (receiptno as SIGNED) ASC - 올바르게 작동 – Karthik

+0

... 인덱스 사용이 망가졌습니다. 우수 –

+0

오, 좋아 좋아. 감사합니다. col – Karthik

1

그래서를,이 칼럼의 유형을 변경하기위한

관련 문제