【问题标题】:Best way to replace multiple strings in huge string替换大字符串中多个字符串的最佳方法
【发布时间】:2017-08-17 14:47:45
【问题描述】:

sql server 2008r2 有没有其他方法可以替换多个字符串?哪个也快?

我的查询如下。

Select REPLACE(REPLACE(EmailText,'#{Name}#',UV.Name),'#{organisation}#',CV.Organisation)

我也是用例子写的

Select REPLACE(REPLACE('Hi #{Name}# from #{organisation}#','#{Name}#','Jhon'),'#{organisation}#','Cocacola')

【问题讨论】:

  • 除了使用clr函数外,sql server不支持正则表达式。替换可能是最好的方法。

标签: sql sql-server regex


【解决方案1】:

有各种各样的方法:

但是 'fastest' 中的 'best' 可能会反复使用 REPLACE,因为这些链接中的所有尝试都有一些限制..

【讨论】:

  • 您确定替换速度很快吗?我的意思是如果我将替换 5 到 6 个字符串,它不会减慢 select 语句?
  • 取决于你所说的快速。 Sqlserver 替换你的字符串比我用铅笔和纸替换字符串更快?!当然,任何额外的数据处理都会降低产生结果的速度,但是你的问题并没有真正的意义,因为当这个操作是相对的时你要求绝对。如果你要制造一百万个替代品,你必须以某种方式制造它们,这将需要一些时间。所以用替换来制作它们,如果它太慢,请从这些链接中尝试其他东西。我认为你最终会回到使用 replace
猜你喜欢
  • 2011-03-25
  • 1970-01-01
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
相关资源
最近更新 更多