我需要在数百万行表中的所有非空SQL服务器列值附加一个参数值'xval = 9'。该列包含URL,并且它们随机附加了一系列“查询字符串”参数。因此,当我追加时,我可能需要附加'?xval = 9'或者我可能需要附加'& val = 9',具体取决于参数是否已经存在。
因此,URL值可能与以下任何一样:
http://example.com/example
http://example.com/example/?aval=1
http://example.com/example/?aval=1&bval=2
http://example.com/example/index.html?aval=1&bval=2
'aval'和'bval'只是样本,实际上任何类型的键/值对都可能位于URL的末尾。
最聪明的纯TSQL方法是什么,希望利用某种索引?
感谢。
答案 0 :(得分:0)
在演示文稿或模型层上执行此操作,而不是在数据层上执行此操作。
即。阅读所有数据并使用C#或您使用的其他语言进行操作。
答案 1 :(得分:0)
也许这应该有用
SELECT CASE CHARINDEX('?', Url) WHEN 0 THEN Url+'?foo=boo' ELSE Url+'&foo=boo' END AS Url FROM Whatever