2012-06-29 72 views
1

如果從一開始至少有3個字符匹配,如何編寫一個匹配字符串的正則表達式?在sql中匹配一個字符串的正則表達式

這裏是我的SQL查詢的外觀現在 -

SELECT * FROM tableName WHERE columnName REGEXP "^[a-zA-Z]{3}someString"; 
+0

你想一個PHP表達式或MySQL的表達? – wallyk

+0

我需要MySQL表達式。 – imhere

+0

爲什麼你不用substr所需的字母與PHP並做* *選擇*表從哪裏coloumn LIKE'$ string%'「*? – TigerTiger

回答

4

不能使用CONCAT或都與正則表達式,它就會失敗。做到這一點最簡單的方法,就是:

$query = 'SELECT * FROM Test WHERE colb REGEXP "^'.substr($mystring,0,3).'"'); 

另一個原因是:

SELECT * FROM Test WHERE LEFT(colb, 3) LIKE "{$mystring}%"