[SQL] MySQL은 - VARCHAR 컬럼에서 숫자 값만 선택
SQLMySQL은 - VARCHAR 컬럼에서 숫자 값만 선택
다음 표를 고려 :
create table mixedvalues (value varchar(50));
insert into mixedvalues values
('100'),
('ABC100'),
('200'),
('ABC200'),
('300'),
('ABC300'),
('400'),
('ABC400'),
('500'),
('ABC500');
난 단지 같은 숫자 값을 반환 SELECT 문을 쓸 수있는 방법
100
200
300
400
500
해결법
-
==============================
1.
SELECT * FROM mixedvalues WHERE value REGEXP '^[0-9]+$';
-
==============================
2.
SELECT * FROM mixedvalues WHERE concat('',value * 1) = value;
참조 : 값이 숫자는 MySQL의에있는 경우 감지
-
==============================
3.당신은 가까웠다 :
당신은 가까웠다 :
SELECT * FROM mixedvalues WHERE value > 0;
SQLFiddle
-
==============================
4.
SELECT * FROM mixedvalues WHERE value > 0 ORDER BY CAST(value as SIGNED INTEGER) ASC
-
==============================
5.당신은 ISNUMERIC 기능을 사용하여 결과 세트를 필터링 할 수 있습니다 :
당신은 ISNUMERIC 기능을 사용하여 결과 세트를 필터링 할 수 있습니다 :
SELECT value FROM #mixedvalues where ISNUMERIC(value)=1
from https://stackoverflow.com/questions/22510736/mysql-select-only-numeric-values-from-varchar-column by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 이노 디비에서 MySQL을 LIKE '% 문자열 %'쿼리를 최적화 (0) | 2020.07.01 |
---|---|
[SQL] 외래 키는 기본 키의 역할을 할 수 있습니까? (0) | 2020.07.01 |
[SQL] MySQL의에서 주소 IP 클라이언트를 검색 (0) | 2020.07.01 |
[SQL] "주문은"열 이름에 대한 매개 변수를 사용하여 (1) | 2020.07.01 |
[SQL] 하나의 MySQL의 문에서 자르기 여러 테이블 (0) | 2020.07.01 |