일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- M480
- 10g
- java
- Modeling
- 이클립스
- 다운로드
- SELECT UPDATE
- iTunes
- error
- 개발자
- oracle not exists
- update
- oracle not in
- Oracle
- 오라클
- jquery
- html
- 검색
- 태그를 입력해 주세요.
- DATABASE
- 설치
- jqeury
- 미라지
- input box
- 2NE1
- javascript
- eclipse
- 링크
- 한글
- Download
- Today
- Total
not set
오라클 한글 데이타 검색 본문
출처 오라클클럽
마농님 댓글
1 2 3 4 5 6 7 8 9 10 11 12 | -- 명확하게 한글만을 제외하기는 사실상 힘들듯 하구요. -- 여러가지 대체 방안이 있을 듯 합니다. -- 1. 싱글바이트문자만 뽑기 -- WHERE LENGTH(funa_kor) = LENGTHB(funa_kor) WHERE funa_kor = ASCIISTR(funa_kor) -- 2. 영문 및 공백만 뽑기 -- WHERE REGEXP_LIKE(funa_kor, '^([a-z A-Z]+)$' ) WHERE TRANSLATE(funa_kor , '$abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ' , '$' ) IS NOT NULL -- 3. 한글 제외(명확한것은 아님) -- WHERE NOT REGEXP_LIKE(funa_kor, '[가-힝]' ) |
WITH t AS
(
SELECT 'manon94' id FROM dual
UNION ALL SELECT '가나다라' FROM dual
UNION ALL SELECT '가나다라(aaa)' FROM dual
UNION ALL SELECT 'aaa_가나다라' FROM dual
UNION ALL SELECT 'ㅁㅁㅁ' FROM dual
UNION ALL SELECT 'aaa123' FROM dual
UNION ALL SELECT '1234' FROM dual
UNION ALL SELECT ' 1 2 3 4 ' FROM dual
UNION ALL SELECT ' 1 ㄱ 2 ㄴ 3 ㄷ 4 ' FROM dual
UNION ALL SELECT '궵런디ㅏㅓㄹ' FROM dual
UNION ALL SELECT '스꾸에~~뷁뷁뷁' FROM dual
)
SELECT * FROM t
WHERE REGEXP_LIKE(id, '[ㄱ-힣]')
;
--꼬부랑말이나 숫자가 있다면 나와주세요!
WITH t AS
(
SELECT 'manon94' id FROM dual
UNION ALL SELECT '가나다라' FROM dual
UNION ALL SELECT '가나다라(aaa)' FROM dual
UNION ALL SELECT 'aaa_가나다라' FROM dual
UNION ALL SELECT 'ㅁㅁㅁ' FROM dual
UNION ALL SELECT 'aaa123' FROM dual
UNION ALL SELECT '1234' FROM dual
UNION ALL SELECT ' 1 2 3 4 ' FROM dual
UNION ALL SELECT ' 1 ㄱ 2 ㄴ 3 ㄷ 4 ' FROM dual
UNION ALL SELECT '궵런디ㅏㅓㄹ' FROM dual
UNION ALL SELECT '스꾸에~~뷁뷁뷁' FROM dual
)
SELECT * FROM t
WHERE REGEXP_LIKE(id, '[a-zA-Z0-9]')
;
--REGEXP_INSTR 함수
SELECT *
FROM (
SELECT 1, 'A SOMETHING LIKE 154 ST.' TEXT
FROM DUAL
UNION ALL
SELECT 2, 'B SomeTHING LIKE a-5654 st.' TEXT
FROM DUAL
UNION ALL
SELECT 3, 'that Is 23-4 ST.' TEXT
FROM DUAL
)
WHERE REGEXP_INSTR(TEXT, '[0-3,t]') = 1
;
-- 0~3 그리고 t가 첫번째 글자에 있는 문자열을 찾아준다.
--REGEXP_LIKE 함수
SELECT *
FROM (
SELECT 4, 123456 TEXT
FROM DUAL
)
WHERE REGEXP_LIKE(TEXT, '[[:digit:]]')
;
-- [[:digit:]] : 숫자인가
-- [^[:digit:]] : 숫자가 아닌가
-- ^ 를 표현식안에쓰게되면 NOT (부정)의 의미가된다.
-- 주의점
-- ADB012 는 숫자도아니고 문자도아닌게된다. 위의조건으로 검색을하게되면 전부 조건에 걸리게된다.
-- 숫자+문자 일경우 조심해야한단말쌈~
SELECT *
FROM (
SELECT REGEXP_REPLACE(content, '<[^>]*>', ' ') AS CONTENT
FROM AAAA
)
WHERE REGEXP_LIKE(CONTENT , '[^ -~]');
;
'Database > query' 카테고리의 다른 글
오라클 가로를 세로로 (0) | 2013.08.27 |
---|---|
ORACLE MERGE INTO (0) | 2013.08.27 |
ORACLE SELECT UPDATE 예제 (0) | 2013.03.12 |
ORACLE 권한 보기 (0) | 2012.12.13 |
_ 언더바가 포함된 문자 검색할때. (0) | 2012.04.27 |