2011-02-04 54 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的開始,如果它的存在或者什麼都不做。這不會像更新查詢那樣更改數據庫中的數據。