我有以下查詢:MYSQL中的REGEX無法正常工作?
SELECT COUNT(*)
FROM 'users'
WHERE (
summary REGEXP '^\\(?[\\d]{3}\\)?[\\s-]?[\\d]{3}[\\s-]?[\\d]{4}$' OR
bio REGEXP '^\\(?[\\d]{3}\\)?[\\s-]?[\\d]{3}[\\s-]?[\\d]{4}$' OR
about_me REGEXP '^\\(?[\\d]{3}\\)?[\\s-]?[\\d]{3}[\\s-]?[\\d]{4}$'
);604-456-1234
我已經測試了正則表達式的位置 - >http://rubular.com/和它適合我的情況。
我有一個用戶的生物「604-456-1234」上有下列字符串,它應該返回,但不是。
爲什麼?
我沒有仔細看看你的查詢,所以我不能給你具體的查詢,但在Ruby中的正則表達式肯定不是MySQL中的正則表達式,所以它不是特別的令人驚訝的是,如果它不匹配使用rubular.com devloping – dirkk
如果你有一個大表,並需要定期執行該查詢,你會去有重大的性能問題,因爲您需要執行全表掃描才能完成查詢。如果這是你的系統的常規部分,你需要在他們的信息中找到具有電話號碼的用戶,也許你會考慮添加一個'has_phone' tinyint字段來查詢,並根據手機的存在插入數據時設置該字段信息。 –