Sye*_*idi -1 sql sql-server-2014
我有一个数据库,其中有一个名为PaymentRecieptI 的表正在玩,并且从一个简单的select all查询中发现了一些意想不到的结果.
// Return 3139 rows
select * from PaymentReciept
// Return 3139 rows
select * from dbo.PaymentReciept
// Return 0 rows
select * from [dbo.PaymentReciept]
Run Code Online (Sandbox Code Playgroud)
我不明白为什么带方括号的查询没有返回任何结果.我知道方括号用作使用某些特殊字符或关键字的标识符的分隔符.
有人可以向我解释发生了什么,或者指导我阅读一些文章或书籍,在那里我可以更多地了解这种行为.
[dbo.PaymentReciept]
表示SQL正在查询名为dbo.PaymentReceipt的表
而
dbo.PaymentReciept并且PaymentReciept意味着SQL正在查询PaymentReceipt模式中调用的表dbo.
要正确使用方括号,请使用:
[dbo].[PaymentReciept]