替换MySQL列中的第一个标签

时间:2011-02-04 08:39:33

标签: mysql replace

有一些文本列包含一些值。 E.g。

<ul>
<li>bla bla&nbsp;bla bla bla&nbsp;bla bla bla.</li>
<li>bla bla&nbsp;bla bla bla&nbsp;bla bla bla.</li>
</ul>

<br />• text text text.
<br />• text text text.
<br />

如何仅删除每个以它开头的记录中的第一个<br/>标记?

3 个答案:

答案 0 :(得分:1)

如果您只想删除带有<br />的记录 的第一个<br />

UPDATE table
SET field = SUBSTRING(field, 7)
WHERE LEFT(field, 6) = '<br />'

答案 1 :(得分:1)

您可以使用mysql trim function

TRIM(LEADING '<br />' FROM column_name)

示例:

SELECT TRIM(LEADING '<br />' FROM doyouknow) as doyouknow FROM actors;

这将删除“&lt; br /&gt;”从一开始就知道它是否存在或什么都不做。这不会像更新查询那样更改数据库中的数据。

答案 2 :(得分:0)

SELECT
  CASE WHEN doyouknow LIKE '<br />%' THEN SUBSTRING(doyouknow, 7) ELSE doyouknow END,
  othercol1,
  othercol
FROM..

如果您需要更新表格中的数据,请使用此

UPDATE TBL
SET doyouknow =
  CASE WHEN doyouknow LIKE '<br />%' THEN SUBSTRING(doyouknow, 7) ELSE doyouknow END,