我试图在SQL Server Management Studio中运行以下相当简单的查询。
SELECT TOP 1000 *
FROM
master.sys.procedures as procs
left join
master.sys.parameters as params on procs.object_id = params.object_id
这似乎完全正确,但我一直得到以下错误。
Msg 102, Level 15, State 1, Line 6 ''附近的语法不正确。
如果我去掉连接,只做一个简单的选择,它就能工作。
SELECT TOP 1000 *
FROM
master.sys.procedures as procs
但是我需要连接来工作。在这个查询中,我甚至没有***字符串'',所以我搞不清楚它不喜欢什么。
当你从网页或电子邮件中复制代码,并且文本中包含不可打印的字符,如单独的CR或LF和非断裂空格时,就会出现这种意外问题。
Panagiotis Kanavos是对的,有时复制和粘贴T-SQL可以使不需要的字符出现。
我终于找到了一个简单快速的方法(只需要用记事本++)来检测哪个字符是错误的,而不需要手动重写整个语句:不需要保存任何文件到磁盘。
在Notepad++中,这是很快速的。
你应该很容易找到错误的字符