为什么replace函数不能替换字符串?

时间:2019-07-31 23:31:32

标签: sql sql-server

我有以下代码不会替换字符串中的值。不知道为什么

select top 10 marker_id,
stuff((select ',' + replace(t2.text,'=>', '|')
from vMARKER_DIRECTIONAL_TEXT t2 
where t1.marker_id = t2.marker_id
for xml path('')),1,1,'') text
from vMARKER_DIRECTIONAL_TEXT t1 
group by marker_id

LAT:-88.303934 LON:154.632292,=> PHONE DUTY MANAGER ON 5555555 (AH) OR 
INFO CENTRE ON xxxxxx (BH),=> LOCKED GATE AT PARK ENTRANCE CODE TO ENTER 
IS 1234,=> TRAVEL WEST 3600M ON ROAD TO BUS STOP

1 个答案:

答案 0 :(得分:0)

根据您对另一个答案的评论,我的评论是正确的。

替换“>”

在您的REPLACE函数中使用“>”进行操作

这是因为您的FOR XML PATH函数将“>”编码为“>”在对文本执行REPLACE函数之后。只有在您的FOR XML PATH函数运行后,>字符才会被编码字符串替换。

编辑:必须添加一个空格,因为SO一直显示“>” LOL,而且我不知道如何使其仅显示为字符串。