2010-10-16 200 views

回答

4

如果您正在考慮在替換字符串中使用反向引用,那是不可能的,AFAIK。你做一個更新,具體如下:

UPDATE foo 
    SET bar = <some expr including baz> 
WHERE baz REGEXP <regex> 

但分配的表達將不得不依靠傳統的字符串函數像replace(...)substr(...)(或您自己的extension functions)。沒有辦法調用REGEXP運算符找到的組。

編輯:下面是解釋在item_key列股票編號如下前綴'STOCK ID: '數值股票ID的具體的例子:

UPDATE staff 
    SET stock_number = CAST(substr(item_key, 11) AS INTEGER) 
WHERE item_key REGEXP '^STOCK ID: \d+' 
+0

謝謝,但我不完全理解的格式,這一切是如何應用你在哪裏有<一些expr包括baz>和。你能完全註釋這個例子嗎?謝謝 – JPG 2010-10-16 12:19:34

+0

@JPG:我已經給我的答案添加了一個例子。 – 2010-10-17 06:22:49

+0

+1用於鏈接到擴展功能。這是做OP的想法。 – 2010-10-17 07:29:58

相關問題