我在microsoft sql server management studio中有一个使用代码的视图
WHEN (CHARINDEX('&', page_url) > 0)
在案例陈述中,&什么特别的东西?
即使在包含不包含'&'的网址的字符串中它似乎大于0 ......?
答案 0 :(得分:3)
角色'&'在字符串中使用时没有什么特别之处 - 它只是一个&符号。 我知道没有专门对待它的SQL引擎。(好吧,显然Oracle做了一些古怪的事情。但是SQL服务器肯定没有,我也没有使用任何其他DBMS。)
答案 1 :(得分:1)
不,它应该只返回索引。运行此示例以查看:
SELECT CHARINDEX('&', 'test&test')
这会像您期望的那样返回5。你能发布什么字符串,它没有返回预期的结果吗?
答案 2 :(得分:0)
它没有特别的意义。自己做一个测试:
SELECT CHARINDEX('&', 'http://blah.com/page.html?q=one&w=another')
应该返回32
SELECT CHARINDEX('&', 'http://blah.com/page.html?q=one')
应该返回0
问题可能出在CASE声明的其他地方。