-- 对的 select top 1 name from sys.tables go -- 对的 select top (1) name from sys.tables go -- 错误,如果不加 () ,会把 @n 当做一个返回列,这样一来 top 就没用了 declare @n int = 1 select top @n name from sys.tables go -- 这个是正确用法 declare @n int = 1 select top (@n) name from sys.tables go
-- 对的
select top 1 name from sys.tables
go
-- 对的
select top (1) name from sys.tables
go
-- 错误,如果不加 () ,会把 @n 当做一个返回列,这样一来 top 就没用了
declare @n int = 1
select top @n name from sys.tables
go
-- 这个是正确用法
declare @n int = 1
select top (@n) name from sys.tables
go