programing

Oracle like 절에서 밑줄이 작동하지 않습니다.

abcjava 2023. 6. 30. 21:47
반응형

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

반응형