[英]How to match specific string pattern using REGEXP (or similar) in MySQL
我正在使用下面的UPDATE語句來更新用於確認代碼格式正確的標志,請注意該代碼可以在“ RefCode”中的任何位置。 這在Excel中有效,但我了解MySQL REGEX與標准REGEX略有不同:
UPDATE tblRequests
SET flagIsRefCodeOK= (RefCode REGEXP '^[A-Z0-9]{8}-(?:[A-Z0-9]{4}-){3}[A-Z0-9]{12}$')
WHERE DataSetID=11;
在堅果殼中,如果該字段包含ddda999d-99de-999e-999e-9b9bf9999999
,則它應該為true / [1]:
8 alphanumeric characters
A SINGLE DASH
4 alphanumeric characters
A SINGLE DASH
4 alphanumeric characters
A SINGLE DASH
4 alphanumeric characters
A SINGLE DASH
12 alphanumeric characters
希望對此有所幫助。
日Thnx
在MySQL中,您不能使用(?: non-capture groups )
做這樣的事情:
UPDATE mytable
SET flag = `1`
WHERE mycolumn REGEXP "^[[:alnum:]]{8}-([[:alnum:]]{4}-){3}[[:alnum:]]{12}$"
請注意,POSIX類[:alnum:]
匹配ASCII字母az,AZ和數字0-9
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.