gpt4 book ai didi

sql - 删除字符串后的所有内容

转载 作者:行者123 更新时间:2023-11-30 23:49:08 29 4
gpt4 key购买 nike

我有一个表格,其中包含对在我的网站上出售的商品的描述。

在我们无限的智慧中,当我们第一次启动网站时,我们将 Facebook Like 按钮的代码粘贴到描述中,每个按钮都略有不同,因为它在链接中有产品信息。我们现在有大约 400 个带有代码的项目。

这是我正在处理的一个例子:

-Whipped Up, Fluffy Chocolate-On-Chocolate Taste; A Lighter Way To Enjoy Chocolate
- 45% Less Fat


< 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&layout=standard&show_faces=true&width=450&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height: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

最佳答案

SELECT 
trim( -- trim removes spaces before and after given string
left(
'some text < iframe',
locate('< iframe', 'some text < iframe') - 1
)
);

为了更好地理解,我没有删除 < 之间的空格和 iframe .

你也可以看看这个线程:

Remove HTML tags from record

但这是关于仅删除标签并保留 <tag> 的讨论正文 </tag>标签之间。无论如何它会适合你,因为你在 <iframe>之间什么都没有。和 </iframe> .

关于sql - 删除字符串后的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13132841/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com