我的表格包含名为description的字段,其中包含以下文字
|Description |
|-----------------------------------------|
|This is a text <a>blah</a> <br/> <img /> |
|This is <b>second</b> <a>row</a> |
我想删除“&lt; ”和“&gt; ”之间的所有内容
|Description |
|-----------------------------------------|
|This is a text blah |
|This is second row |
无论如何,我可以使用MYSQL查询来实现这一点。我目前无法使用存储过程,因为我没有权限。我已经请求访问使用存储过程,但这需要一些时间,我必须紧急完成这一点。
感谢。
更新:我的问题与Remove string between 2 characters from text string类似,但我希望在MYSQL查询中完成。
答案 0 :(得分:3)
简而言之,您不能,您需要更高级的语言,如PHP。您的SQL查询不是进行字符串操作的地方。
答案 1 :(得分:1)
REPLACE()如何使用通配符捕获开始和结束括号之间的未知文本? http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace
答案 2 :(得分:0)
如果你使用php作为服务器端语言,你可以使用strip_tags函数删除标签。我希望它可以帮助你。
答案 3 :(得分:0)
因为这个问题仍然在谷歌搜索结果中,所以答案可能对某人有所帮助:
一个快速函数,用于替换两个字符之间的内容。它也应该用文字来处理,但我没有用文字测试它。要删除以下字符串: “这是[演示]”
[和]之间的字符串:
选择deletestr(“这是[demo]”,'[',']');
和功能:
CREATE DEFINER=`replace_with_your_db`@`%`
FUNCTION `deletestr` (`inputstr` TEXT CHARSET utf8, `fromstr` VARCHAR(10) CHARSET utf8, `tostr` VARCHAR(10) CHARSET utf8) RETURNS text CHARSET utf8
NO SQL
RETURN
replace(inputstr,substr(inputstr, locate(fromstr,inputstr),locate(tostr,inputstr)-locate(fromstr,inputstr)+length(tostr)),'')