첫 번째 문자가 숫자가 아닌 행을 찾으려고합니다.MySql Not Regexp?
14
A
답변
11
현재 정규식, 값이 정확히 한 자리 구성하지 일치 ... 나는 그냥 첫 번째 문자를 확인 있는지 확인하는 방법을 잘 모르겠어요,
SELECT DISTINCT(action) FROM actions
WHERE qkey = 140 AND action NOT REGEXP '^[:digit:]$';
그러나 :이 있습니다 첫 번째 문자 만. $
을 끝에서 제거하면 "가치 만료"를 의미합니다. 첫 번째 문자를 확인하기 만하면 문자를 확인합니다.
^[:digit:]
이 작동합니다. "값의 시작과 그 뒤에 하나의 숫자"를 의미합니다.
20
처음에는 쿼리에 약간의 오류가 있습니다. 그것은해야한다 :
NOT REGEXP '^[[:digit:]]'
참고 이중 사각 괄호. 또한로 다시 쓸 수 또한 빈 문자열을 일치 방지하기 위해 다음
REGEXP '^[^[:digit:]]'
이 또한 사용하여 정규 표현식이 사용되는 인덱스를 방지주의와 테이블 스캔 또는 인덱스 스캔에서 발생합니다. 당신이 더 효율적인 쿼리를 원하는 경우에 당신은 가능한 경우 정규 표현식을 사용하지 않고 쿼리를 다시 시도해야합니다
SELECT DISTINCT(action) FROM actions
WHERE qkey = 140 AND action < '0'
UNION ALL
SELECT DISTINCT(action) FROM actions
WHERE qkey = 140 AND action >= ':'
그런 다음 (qkey, 액션)에 인덱스를 추가 할 수 있습니다. 읽을만큼 즐겁지는 않지만 더 나은 성능을 제공해야합니다. 각 qkey에 대한 작업 수가 적다면 눈에 띄는 성능 향상이 나타나지 않으므로 더 간단한 쿼리 만 수행 할 수 있습니다.
관련 문제
- 1. 대괄호가있는 mySQL Regexp
- 2. MySQL REGEXP 반복 문자
- 3. 테이블에서 행을 찾으십시오. regexp - mysql
- 4. MySQL : 레코드의 일부를 제거하는 REGEXP
- 5. mysql 쿼리 및 regexp 문제
- 6. microsoft sql of mysql REGEXP
- 7. CSV 번호를 찾기위한 MySQL Regexp
- 8. Mysql, NOT EXISTS, SELECT
- 9. MySQL Fulltext (Not) 검색
- 10. MySQL current_insert_id()? (not last_insert_id())
- 11. Mysql not union
- 12. MySQL - LEFT JOIN과 NOT IN
- 13. MySql NOT IN 성능 문제
- 14. RegExp
- 15. RegExp
- 16. MySQL은 - REGEXP 쿼리
- 17. MySQL 테이블에서 "NOT NULL"을 사용해야하는시기는 언제입니까?
- 18. mysql SELECT NOT IN() - 분리 세트?
- 19. 간단한 regexp
- 20. regexp 제외
- 21. robots.txt의 Regexp
- 22. JavaScript RegExp
- 23. C# - Regexp - ArgumentException
- 24. JavaScript RegExp 구문 질문
- 25. MySQL 쿼리 : REGEXP $ var가 비어 있으면 모두 선택 하시겠습니까?
- 26. regexp for mysql 5.1 (사용자 입력을 기반으로 항목 검색)
- 27. Java Regexp : UNGREEDY 플래그
- 28. 기본 regexp 도움말
- 29. 로그 메시지 필터링을위한 RegExp
- 30. Regexp/htaccess 재밌기
감사합니다. – TwixxyKit