在SQL Server中转义字符串
在SQL Server中,字符串字面值中唯一需要转义的字符是单引号'
。可以通过使用两个单引号代替反斜杠进行转义。
例如:SELECT 'O''Reilly'
在绝大多数情况下,应该使用参数化查询,而不需要进行转义。
要正确使用的操作符是=
。
例如:SELECT TOP 10000 * FROM experience WHERE name = 'AT&T'
以下代码可以正常工作:SQL Fiddle Demo
IS
只能与[NOT] NULL
一起使用。
在字符串字面值中,反斜杠只有在紧接换行符之前时才具有特殊意义,此时它作为行继续字符。
例如:PRINT 'This is all \ one line'
将返回
This is all one line
此处的问题是它要求对'AT&T'中的最后一个'T'进行替换。感谢您对操作符的建议!
- "替换变量"是谁要求的?SQL Server肯定没有。您在哪个工具中运行这个查询?
- 我猜您在使用SQL Plus?在这种情况下,请参见这里。不过,这也让人怀疑您是否真正连接到的是SQL Server而不是Oracle。如果您连接到的是Oracle,则需要重新编写查询,而不使用TOP
。
我肯定是使用Oracle的SQLDeveloper连接到SQL Server的。
- 我自己从未使用过SQLDeveloper。看起来您需要SET DEFINE OFF
。