[SQL] MSSQL 정규 표현식
SQLMSSQL 정규 표현식
나는 다음과 같은 정규식이 : ^ [- A-ZA-Z0-9 /.]+$
이 기능은 현재 텍스트 상자에 입력 한 값이 검사와 일치하는지 여부. 그렇지 않은 경우 오류가 발생합니다.
난 아무것도 이미이 일치 나던 데이터베이스에 갔다 여부를 확인해야합니다.
나는 피곤 있습니다 :
SELECT * FROM *table* WHERE ([url] NOT LIKE '^[-A-Za-z0-9/.]+$')
SELECT * FROM *table* WHERE PATINDEX ('^[-A-Za-z0-9/.]+$', [url])
최신 정보
그래서 실현 한 연구의 조금 후에 나는 정규 표현식을 사용할 수 있다고 생각하지 않습니다.
나는 이런 식으로 뭔가를 할 수 있다고 생각? 그 나에게 예상되는 결과를 제공하지만 다른 달리 아무것도 실행하지. 그것으로 사람의 자리 아무것도 잘못된 수 있습니까?
SELECT *,
CASE WHEN [url] LIKE '^[-A-Za-z0-9/.]+$'
THEN 'Match'
ELSE 'No Match'
END Validates
FROM
*table*
해결법
-
==============================
1.당신의 도움에 대해 감사합니다.
당신의 도움에 대해 감사합니다.
이것은 내가 결국 사용한 것입니다 :
SELECT *, CASE WHEN [url] NOT LIKE '%[^-A-Za-z0-9/.+$]%' THEN 'Valid' ELSE 'No valid' END [Validate] FROM *table* ORDER BY [Validate]
-
==============================
2.MySQL의에서 정규식 구문은 다음과 같습니다
MySQL의에서 정규식 구문은 다음과 같습니다
SELECT * FROM YourTable WHERE (`url` NOT REGEXP '^[-A-Za-z0-9/.]+$')
대신 LIKE의 REGEXP 절을 사용합니다. 후자는 패턴 매칭을 사용 % _ 와일드 카드에 대한 것이다.
당신이 오타, 당신은 SQL 서버 (안 MySQL을)를 사용하고 있기 때문에, 당신은 정규식 기능을 노출 할 수있는 사용자 정의 CLR 기능을 만들어야합니다.
자세한 내용은이 문서를 살펴 보자.
-
==============================
3.사용 정규 표현식하지 LIKE :
사용 정규 표현식하지 LIKE :
SELECT * FROM `table` WHERE ([url] NOT REGEXP '^[-A-Za-z0-9/.]+$')
from https://stackoverflow.com/questions/29206404/mssql-regular-expression by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 Access에서 하위 쿼리와 업데이트 쿼리를 수행합니까? (0) | 2020.06.10 |
---|---|
[SQL] SQLite는 쿼리, 'LIKE' (0) | 2020.06.10 |
[SQL] 왜 PL SQL 익명 블록이 완료 출력 없음? [복제] (0) | 2020.06.10 |
[SQL] 어디 연습에서 온 "(에서 ... 1 선택)을 존재"는 무엇입니까? (0) | 2020.06.10 |
[SQL] 업데이트 문에서 중복 데이터 (0) | 2020.06.10 |