반응형
문자열에 숫자가 포함되어 있는지 확인하는 방법
문자열에 숫자가 포함되어 있는지 확인해야 합니다.아무 번호나.문자열이 숫자인지 아닌지가 아니라 문자열이 숫자를 포함하는 경우입니다.
예:
'test' = 숫자 없음.
'test2' =에 숫자가 포함되어 있습니다.
정규식 사용:
SELECT *
FROM test
WHERE REGEXP_LIKE(testcol, '[[:digit:]]');
정규식 사용 안 함:
SELECT *
FROM test
WHERE testcol LIKE '%0%'
OR testcol LIKE '%1%'
OR testcol LIKE '%2%'
OR testcol LIKE '%3%'
OR testcol LIKE '%4%'
OR testcol LIKE '%5%'
OR testcol LIKE '%6%'
OR testcol LIKE '%7%'
OR testcol LIKE '%8%'
OR testcol LIKE '%9%'
문자열에 숫자가 포함되어 있는지 탐지하는 데 사용하는 기술은 다음과 같습니다.
select LAST_NAME, 'contains a number'
FROM names
where translate(LAST_NAME, '0123456789', '') <> LAST_NAME
그것은 숫자를 빈 문자열로 변환함으로써 작동합니다.문자열이 동일하게 유지되는 경우 숫자를 포함할 수 없습니다.
이 기법은 또한 문자열이 모두 숫자인지를 테스트하는 데 사용됩니다.
select TEL_NUMBER, 'is all numbers'
FROM names
where trim(translate(TEL_NUMBER, '-0123456789', '')) = ''
전화번호에는 대시가 포함되어 있습니다. 왜냐하면 전화번호에는 대시가 포함되어 있기 때문입니다.
저는 regex를 사용해보겠습니다.좋아요:
select regexp_instr('%[0-9]%',@str1) from table_name;
건배 --조크
SQL 기능이 제한적이기 때문에 NetSuite 저장 검색에서 REGEXP_INSTR을 사용하는 경우가 있습니다.숫자가 없으면 0을 반환하거나 문자열에 있는 첫 번째 숫자의 시작 위치를 반환합니다.
REGEXP_INSTR(my_var, '[[:digit:]]')
다음 예제에서는 0을 반환합니다.
REGEXP_INSTR('test', '[[:digit:]]')
이 예제에서는 숫자를 찾았기 때문에 0보다 큰 숫자를 반환합니다.
REGEXP_INSTR('test2', '[[:digit:]]')
언급URL : https://stackoverflow.com/questions/11341492/how-do-i-check-if-a-string-contains-a-number
반응형
'sourcetip' 카테고리의 다른 글
Spring Webflux : Webclient : 본문 가져오기 오류 (0) | 2023.10.25 |
---|---|
Sentry 디버깅이 추가되었습니다. 긴 문자열이 정의되지 않음 (0) | 2023.10.25 |
스프링 부트 스타터에서 아티팩트 ID 및 버전 가져오기 (0) | 2023.10.25 |
치명적 오류: iostream:GCC를 사용하여 C 프로그램을 컴파일할 때 이러한 파일이나 디렉터리가 없습니다. (0) | 2023.10.25 |
ui 부트스트랩 모드의 컨트롤러 '정의되지 않음' (0) | 2023.10.25 |