编辑: 我想使用mysql查询替换特定字符之前的所有字符。 特定字符的位置并不总是相同。
select函数给我之前的所有字符
SELECT LEFT(description_short,LOCATE('<hr',description_short) as myresult
我如何将它与替换组合,所以我可以替换所有这些角色?
像这样......
UPDATE ps_product_lang , SELECT LEFT(description_short,LOCATE('<hr ',description_short) as myresult
SET `description_short`= replace(`description_short`,myresult,'mynewtext')
我终于明白了...... 我不知道它是否是优雅的方式,但它对我有用。
更新my_table
,(SELECT @replacetext:=((SELECT LEFT(description
,LOCATE(“description)-1)来自my_table,其中my_table.id_product = 72,my_table.id_lang = 4) ))作为somealias
SET description
=替换(description
,@ replacetext,“mynewtextbefore characters”)
WHERE(id_product
='72')
AND(id_shop
='1')
AND(id_lang
='4')
以上查找并替换为“mynewtextbefore characters”之前的所有字符 “
答案 0 :(得分:0)
可能是这样的吗?
SELECT CONCAT('mynewtext',
SUBSTRING(description_short, -LOCATE('<hr', description_short)-3)
);