반응형
Oracle like 절에서 밑줄이 작동하지 않습니다.
개발할 때 'test_1%'를 사용하여 'test_123'을 like에서 찾았습니다.그러나 생산 환경에서는 작동하지 않습니다.'escape'를 사용하는 것은 효과가 있습니다.오라클에서 설정해야 할 설정이 있습니까?저는 '\' 탈출 없이 사용하고 싶습니다.
SQL Developer에서 사용해 보십시오.
SELECT * FROM TABLE1 WHERE NAME LIKE 'test\_1%' escape '\'
in sql plus:
set escape '\'
SELECT * FROM TABLE1 WHERE NAME LIKE 'test\_1%';
Oracle에서는 다음을 사용할 수도 있습니다.ESCAPE
다음과 같이:
SELECT * FROM name_of_table WHERE description LIKE 'testing\_%' ESCAPE '\';
다른 답변은 다음을 사용합니다.ESCAPE '\'
저에게는 효과가 없었지만 REPLACE 기능을 사용하여 이 문제를 해결할 수 있었습니다.
SELECT * FROM name_of_table WHERE REPLACE(description, '_', '~') LIKE 'testing~%';
이것은 저에게 효과가 있었습니다(도피 문자로 ^ 사용).
select * from all_tables where table_name not like '%^_%' escape '^' ;
탈출 캐릭터로 사용하고 같은 조건에서 이중으로 사용하는 것이 저에게 효과가 있었습니다.
조건을 더 추가하려면 LIKE 조건 뒤에 Escape 키워드를 붙입니다.
SELECT * FROM USER_TABLES WHERE TABLE_NAME LIKE '%__%' ESCAPE '_' AND ...
언급URL : https://stackoverflow.com/questions/21380261/underscore-is-not-working-in-oracle-like-clause
반응형
'programing' 카테고리의 다른 글
Vue.set /Vue.delete 대신 Vue.js 스프레드 연산자 (0) | 2023.06.30 |
---|---|
C 소스를 C++로 변환하는 중 (0) | 2023.06.30 |
Git 이등분 오류 실행 취소 (0) | 2023.06.30 |
PyTorch 모형의 총 모수 수 확인 (0) | 2023.06.30 |
문자열 열의 각 행에서 주어진 문자의 발생 횟수를 계산하는 방법은 무엇입니까? (0) | 2023.06.30 |