2011-02-01 40 views
0

我需要将一个参数值'xval = 9'添加到数百万行表中的所有非空白SQL服务器列值。该列包含URL,并且它们具有随机数量的追加到该列的“查询字符串”参数。所以当我追加时,我可能需要追加'?xval = 9',或者我可能需要追加'& val = 9',具体取决于参数是否已经存在。针对URL的SQL Server字符串操作?

所以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 

“票据背书担保”和“BVAL”只是样品,真正的任何种类的键/值对的可能是对URL的结尾。

什么是最聪明的纯TSQL的方式来操纵它,希望利用某种索引?

谢谢。

回答

0

在Presentation或Model层上,而不是在Data层上。

即读取所有数据并使用C#或您使用的其他语言进行操作。

0

也许这应该工作

SELECT CASE CHARINDEX('?', Url) WHEN 0 THEN Url+'?foo=boo' ELSE Url+'&foo=boo' END AS Url FROM Whatever