我有一个表格,其中包含我网站上销售商品的说明。
在我们无限的智慧中,当我们第一次启动网站时,我们将Facebook Like按钮的代码粘贴到描述中,每个都略有不同,因为它在链接中有产品信息。我们现在有大约400个带有代码的项目。
这是我正在处理的一个例子:
-Whip Up,蓬松巧克力巧克力口味;更轻松的享受巧克力的方式 - 减少45%的脂肪
< iframe src =“http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.oursite.com%2Findex.php%3Fmain_page%3Dproduct_info%26cPath%3D33_36%26products_id%3D106&布局=标准&安培; show_faces =真安培;宽度= 450安培;行动=像&安培;色彩方案=光&安培;高度= 80" scrolling =“no”frameborder =“0”style =“border:none; overflow:hidden; 宽度:450像素;身高:80px;“allowTransparency =”true“>< / iframe>
我想删除<iframe
及其后的所有内容。我一直在寻找使用REPLACE和/或LEFT的例子,但找不到我需要的东西,因为我不太熟悉SQL语言。
它将始终位于products_description字段的末尾,因此我不需要担心在它之前保存任何内容。
我能想到的最好的是
SELECT LEFT(REPLACE('<iframe%','<iframe%',' '),0)
但这似乎不起作用。
感谢您提供的任何帮助,因为它比编辑每个描述花费的时间少得多。
更新:在尝试了许多建议的变化之后,仍然没有找到答案。它运行,但不对列进行编辑。
在其他网站上找到后,我也尝试了这个。同样的,但认为它可能让某人知道如何继续:
select left(`products_description`,instr('<iframe',`products_description`)-1) FROM products_description
答案 0 :(得分:2)
SELECT
trim( -- trim removes spaces before and after given string
left(
'some text < iframe',
locate('< iframe', 'some text < iframe') - 1
)
);
为了更好地理解,我没有删除<
和iframe
之间的空格。
你也可以看一下这个帖子:
但这是关于仅删除标记以及在标记之间保留<tag>
文本</tag>
的讨论。无论如何它都适合你,因为<iframe>
和</iframe>
之间没有任何内容。
答案 1 :(得分:1)
REPLACE('<iframe%','<iframe%',' ')
会给你'' - 它会搜索第一个参数以获得第二个参数并将其替换为第三个参数。LEFT(somestring, 0)
会给你0个字符串答案 2 :(得分:0)
试试这个:
select substr(your_raw_string, 0, instr(your_raw_string, '<iframe') -1)
from your_table