2012-10-28 197 views
3

任何人都可以帮我解决一些我无法解决的问题。我想在php_text替换动态文本SQL

Exemple [i] => [i:rlj7bc53] 
Exemple [u] => [u:rlj7bc53] 
Exemple [b] => [/b:rlj7bc53] 

更新设置高亮标记,也

[quote="Christo"] => [quote="Christo":rlj7bc53] 

因为我已经使用这个请求的时刻。

update phpbb_posts 
    set post_text = replace(post_text, '[/quote]' , '[/quote:rlj7bc53]') 
+0

您正在使用哪些DBMS?例如,Oracle有regexp_replace,对此非常有用。 –

回答

0

测试它在运行更新之前:

SELECT post_text as [OldTag] 
     ,'[' + SUBSTRING(post_text, 2, (LEN(post_text) - 2)) + ':rlj7bc53]' AS [NewTag] 
FROM phpbb_posts 

实际的更新:

UPDATE phpbb_posts 
SET post_text = '[' + SUBSTRING(post_text, 2, (LEN(post_text) - 2)) + ':rlj7bc53]' 

请注意,他会通过增加更新该列[和]之间的所有文本:rlj7bc53到它。 如果您只想替换列上的特定标签,可以这样做:

UPDATE phpbb_posts 
    SET post_text = '[' + SUBSTRING(post_text, 2, (LEN(post_text) - 2)) + ':rlj7bc53]' 
    WHERE post_text = [i] 
    OR post_text = [u] 
    OR post_text = [/quote] 
+0

谢谢。你的回答是非常有用的 – Bolo

+0

我知道它已经有近3年了,但请标记答案是正确的,如果它帮助你:) –