programing

MariaDB SQL에서 정규식을 부정하려면 어떻게 해야 합니까?

powerit 2023. 10. 25. 23:51
반응형

MariaDB SQL에서 정규식을 부정하려면 어떻게 해야 합니까?

저는 그 문서들을 살펴 보았습니다.

https://mariadb.com/kb/en/library/regular-expressions-overview/
https://mariadb.com/kb/en/library/pcre/
https://mariadb.com/kb/en/library/not-regexp/

나는 노력했다.

... address_one not rlike '\d';
15707 rows in set (0.52 sec)

... address_one not regexp '\d';
15707 rows in set (0.56 sec)

... address_one !regexp '\d';
ERROR 1064 (42000): You have an error in your SQL syntax

... not(address_one regexp '\d');
15707 rows in set (0.55 sec)

숫자가 없는 모든 행을 찾고 싶습니다.^\d행의 시작 부분의 숫자와 일치하므로 작동하지 않습니다.[^\d]'a'와 같은 임의의 문자와 일치합니다.결과를 부정하는 것 같지는 않습니다.

신경쓰지 마세요.로 고쳤습니다.address_one not regexp '\\d', 이중 백슬래시를 사용합니다.\d문서 페이지에도 없습니다.

MariaDB 10.0과 Mysql 8.0은\d(그리고 비슷한 동물).

모두(?) 가지고 있습니다.[0-9]그리고.[[:digit:]].

전체 식을 부정하려면:

x NOT RLIKE   '[0-9]'
x NOT REGEXP  '[0-9]'
NOT (x RLIKE  '[0-9]')
NOT (x REGEXP '[0-9]')

regexp 부정하기^간단하지 않습니다.숫자가 없는 행을 찾는 것은 숫자가 아닌 행만 찾는 것과 같습니다.

x RLIKE '^[^0-9]*$'

언급URL : https://stackoverflow.com/questions/51543876/how-do-i-negate-a-regular-expression-in-mariadb-sql

반응형