반응형
내 sql REGEXP_REPLACE가 모든 일치 항목을 변경하지 않는 이유는 무엇입니까?
사용 중mariadb다음 코드로:
UPDATE files SET file_source = REGEXP_REPLACE (file_source, 's:[1-9][1-9][1-9]|s:[1-9][1-9]|s:[1-9]', "s:12") WHERE type = 2;
모든 열을 변경하고 싶습니다.s:다음에 최대 3개의 숫자가 나옵니다.s:12
하지만 이걸 실행하면 다음과 같이 나옵니다.
Query OK, 10012 rows affected (0.118 sec)
Rows matched: 10375 Changed: 10012 Warnings: 0
왜 그런지 모르겠어요?변경되지 않은 항목과 그 이유를 확인할 수 있는 방법제 코드에 오류가 있나요?
또한 제가 이것을 두 번 실행하면 0이 변경되었다고 뜨지만, 제가 알기로는 이 코드는 모든 것을 다시 변경해야 합니다.s:12이미 그렇다 치더라도s:12아니면 제가 틀렸나요?
이것은 잘 작동합니다.
Update Table1 SET file_source =
REGEXP_REPLACE (file_source, 's:[0-9]?[0-9]?[0-9]', 's:12') Where TYPE = 2;
s:1 s:31 및 s:111 포함
https://dbfiddle.uk/ ?rdbms=httpadb_10.4&httpdle=506350e8fa09b7270fb5e8e8b46c2e2f6f를 참조하십시오.
언급URL : https://stackoverflow.com/questions/57353743/why-my-sql-regexp-replace-is-not-changing-all-matches
반응형
'programing' 카테고리의 다른 글
| org.java.kafka.common.카프카 예외:카프카 소비 장치를 구성하지 못했습니다. (0) | 2023.08.26 |
|---|---|
| 보기 또는 임시 테이블 - MS SQL Server에서 사용할 테이블을 선택합니다. (0) | 2023.08.26 |
| jQuery 이미지를 로드하지 않고 HTML 구문 분석 (0) | 2023.08.26 |
| PHP에서처럼 JavaScript에서 연중 주간을 얻습니다. (0) | 2023.08.26 |
| MariaDB JDBC 연결 문자열의 여러 마스터 (0) | 2023.08.26 |