카테고리 없음

mysql 문자를 숫자로 변환

리니❤ 2023. 2. 8. 09:16
반응형

컬럼에 숫자만 들어가있는데

 

정렬을 하면

 

1

11

13

2

21

 

이런식으로 정렬되는 경우가있다

 

원인:

컬럼의 타입이 varchar인데 데이터에 숫자가 들어가있기 때문

 

 

해결방법:

mysql의 경우 CAST라는 연산자를 사용

CAST TYPE 종류

- binary
- char
- signed (부호있는숫자)
- data
- datetime
-time
- unsigned (부호없는 숫자)

EX.

(1) 문자를 숫자로 변환

SELECT
CAST(GROUP_NAME AS UNSIGNED) as GROUP_NAME 
,GROUP_TY
FROM
TABLE_GROUP

 

설명 -> cast연산자를 사용하고 cast type을 주고 as ~ 로 alias를 줘야함

 

(2)

 - 문자 -> 숫자 변환

SELECT CAST('1' AS UNSIGNEDas GROUP_NAME 

 - 숫자 -> 문자 변환

SELECT CAST(2 AS CHAR(1)as GROUP_NAME 

 

 

 

 

 

EX. 정렬할때

 

SELECT * FROM TABLE_GROUP ORDER BY CAST(GROUP_NAME AS UNSIGNED)

 

 

 

 

 

 

 

 

반응형