[SQL] SQL LIKE 절의 특수 문자 목록
SQLSQL LIKE 절의 특수 문자 목록
LIKE 절 (나는 좋은 너무 것 SQL 서버 있지만, 다른의에 관심이 있어요)는 SQL에 대한 모든 특수 문자의 전체 목록은 무엇인가?
EG
SELECT Name FROM Person WHERE Name LIKE '%Jon%'
SQL 서버 :
MySQL은 :
신탁:
사이베이스
진행:
PostgreSQL의 :
ANSI SQL92 :
PostgreSQL은 또한 다음을 추가 유사한 TO 연산자를 가지고 :
아이디어는 이것에 대한 '원 스톱 샵'이 될 수 이것을 커뮤니티 위키를 만드는 것입니다.
해결법
-
==============================
1.SQL Server의 경우, http://msdn.microsoft.com/en-us/library/ms179859.aspx에서 :
SQL Server의 경우, http://msdn.microsoft.com/en-us/library/ms179859.aspx에서 :
-
==============================
2.ANSI SQL92 :
ANSI SQL92 :
많은 데이터베이스 표준 규칙에 충실하고 추가 여분의 문자를, 또는 잘못이 없을 때 '\'의 기본값 ESCAPE을 사용하지 않는 것이 실망한다. 우리는 이미없는 것 충분히 문제가 '\'!
그것은 당신이 탈출해야 할거야 어떤 문자를 모르기 때문에, 여기 DBMS 독립적 인 코드를 작성하는 것은 불가능하고, 표준은 탈출 할 필요가없는 일을 벗어날 수 없다 말한다. (참조 섹션 8.5 / 일반 규칙 / 3.a.ii.)
당신은 SQL 감사합니다! gnnn
-
==============================
3.당신은 별도의 추가 할 필요가 있음을 추가해야합니다 SQL 서버에서 '탈출을 기존'
당신은 별도의 추가 할 필요가 있음을 추가해야합니다 SQL 서버에서 '탈출을 기존'
스미스의 -> 스미스 '의
-
==============================
4.SYBASE :
SYBASE :
% : Matches any string of zero or more characters. _ : Matches a single character. [specifier] : Brackets enclose ranges or sets, such as [a-f] or [abcdef].Specifier can take two forms: rangespec1-rangespec2: rangespec1 indicates the start of a range of characters. - is a special character, indicating a range. rangespec2 indicates the end of a range of characters. set: can be composed of any discrete set of values, in any order, such as [a2bR].The range [a-f], and the sets [abcdef] and [fcbdae] return the same set of values. Specifiers are case-sensitive. [^specifier] : A caret (^) preceding a specifier indicates non-inclusion. [^a-f] means "not in the range a-f"; [^a2bR] means "not a, 2, b, or R."
-
==============================
5.난 그냥 단지 SQL의 아래에 Linq를 실행하고 다음과 같은 SQL 문을 생성해야 SQL Server와 LinqPad를 사용하여 테스트를 실행 흥미 롭군요.
난 그냥 단지 SQL의 아래에 Linq를 실행하고 다음과 같은 SQL 문을 생성해야 SQL Server와 LinqPad를 사용하여 테스트를 실행 흥미 롭군요.
기록 어디에요 (R => r.Name.Contains ( "lkjwer --_ ~ []"))
-- Region Parameters DECLARE @p0 VarChar(1000) = '%lkjwer--~_~~~[]%' -- EndRegion SELECT [t0].[ID], [t0].[Name] FROM [RECORDS] AS [t0] WHERE [t0].[Name] LIKE @p0 ESCAPE '~'
나는 아직 테스트하지 않은 있지만, 자동 표현처럼 내에서 사용하기 위해 문자열의 탈출을 허용 할 수있다 잠재적 ESCAPE '~'키워드처럼 보인다 그래서.
from https://stackoverflow.com/questions/712580/list-of-special-characters-for-sql-like-clause by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 오라클을 사용하여 SELECT INTO (0) | 2020.03.31 |
---|---|
[SQL] SQL 서버에서 앞의 0을 트리밍을위한 더 나은 방법? (0) | 2020.03.31 |
[SQL] 물리 대 논리 / 소프트 데이터베이스 레코드의 삭제 하시겠습니까? (0) | 2020.03.31 |
[SQL] 날짜 시간과 같거나 MySQL은 오늘보다 더 큰 (0) | 2020.03.31 |
[SQL] CTE와 하위 쿼리의 차이? (0) | 2020.03.31 |