我使用MSSQL 2008替换某些列中的值。我目前的疑问是:
UPDATE table
SET name = replace(name, 'old', 'new')
我想知道是否有可能只替换旧的' by' new'什么时候老'与其他角色不相邻。那就是:只有当它实际发生时才会发生旧的' 这将确保例如'粗体'不会成为' bnew'
目前我通过JDBC检索结果,在分隔符(,)处拆分字符串,然后检查字符串是否等于“旧”。如果是这样,我想替换为' new'。检索所有结果并将其发回需要很长时间,所以如果可以通过仅发送包含“旧”的SQL语句来实现这一点。 &安培; '新'那会很棒!
记录应该替换的位置:
记录不应该更换的地方:
答案 0 :(得分:1)
在子句中使用空格。
更新[YourTable] SET name = replace(name,'old','new') 名称='旧'