2011-02-04 58 views
1

存在一些包含某个值的文本列。例如。替换MySQL列中的第一个<br />标记

<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/>标签中的每个与它开始记录?

+1

替换全部`
`或者只是第一个? – Nishant 2011-02-04 08:45:25

回答

1

如果你只是想如果记录删除第一<br />开始<br />

UPDATE table 
SET field = SUBSTRING(field, 7) 
WHERE LEFT(field, 6) = '<br />' 
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, 
1

您可以使用mysql trim function

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

例如:

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

这将删除 “< BR/>” 从doyouknow的开始,如果它的存在或者什么都不做。这不会像更新查询那样更改数据库中的数据。