2016-04-15 64 views
-1

我想从我的table_name中删除column_content的所有链接。 链接看起来像:SQL查找并替换列中的文本

<a style="text-decoration:none" href="/index.php?o=oda-res-site">.</a> 

href="........"是每条记录不同。

你可以帮助一个带通配符的语句来清除所有链接<a ..../a>

我尝试这样做:

UPDATE MyTable 
SET StringColumn = REPLACE (StringColumn, 'SearchForThis', 'ReplaceWithThis') 

,但我无法找到正确的通配符来包括 - 如果possible-所有链接。

谢谢 我使用phpMyAdmin

+2

您使用的是哪种数据库管理程序?为'sql-server','MySQL'或其他任何东西添加一个标签。 – Smandoli

+1

“column_content”记录中有哪些信息?可以有多个链接? – Smandoli

+0

'regexp_replace()'想到 –

回答

0

嗯......如果我有你的权利,该解决方案不应该是困难的。根据您的示例编写示例代码:

DECLARE @MyString nvarchar(250) = N'<a style="text-decoration:none" href="/index.php?o=oda-res-site">.</a>'; 
SELECT @MyString as MyOldString, LEFT(@MyString, CHARINDEX('href="', @MyString)+5) + '">.</a>' as MyNewString 
+0

感谢您的尝试,但它没有奏效。我在mysql中有基本的知识,所以我只是在phpMyAdmin> sql选项卡上复制粘贴上面的内容。错误是:#1064 - 你的SQL语法有错误; – geoplous

+0

噢,好的,如果是mysql,查询可能需要修改。我在Sqlserver上测试过它。猜猜你可能需要使用instring或类似的代替charindex。我不熟悉mysql。 – Tyron78