반응형
SQL Server의 동적 SELECT TOP @var
SQL Server에서 반환 할 행 수를 설정하는 동적 변수를 어떻게 가질 수 있습니까? 아래는 SQL Server 2005+에서 유효한 구문이 아닙니다.
DECLARE @count int
SET @count = 20
SELECT TOP @count * FROM SomeTable
SELECT TOP (@count) * FROM SomeTable
이것은 SQL 2005 이상에서만 작동합니다
"select top (@var) ..."구문은 SQL SERVER 2005+에서만 작동합니다. SQL 2000의 경우 다음을 수행 할 수 있습니다.
set rowcount @top
select * from sometable
set rowcount 0
도움이 되었기를 바랍니다
오이 신.
(@@ rowcount를 rowcount로 대체하도록 편집 됨-감사합니다.
x0n의 예에서 다음과 같아야합니다.
SET ROWCOUNT @top
SELECT * from sometable
SET ROWCOUNT 0
http://msdn.microsoft.com/en-us/library/ms188774.aspx
동적 SQL을 사용하고 exec 명령으로 실행할 수도 있습니다.
declare @sql nvarchar(200), @count int
set @count = 10
set @sql = N'select top ' + cast(@count as nvarchar(4)) + ' * from table'
exec (@sql)
또는 그냥 변수를 괄호 안에 넣습니다.
DECLARE @top INT = 10;
SELECT TOP (@Top) *
FROM <table_name>;
declare @rows int = 10
select top (@rows) *
from Employees
order by 1 desc -- optional to get the last records using the first column of the table
참고 URL : https://stackoverflow.com/questions/175962/dynamic-select-top-var-in-sql-server
반응형
'IT' 카테고리의 다른 글
파이썬에서 현재 CPU 및 RAM 사용량을 얻는 방법? (0) | 2020.03.20 |
---|---|
Spring @Autowired 사용법 이해 (0) | 2020.03.19 |
json POST 데이터를 웹 API 메소드에 객체로 전달하는 방법은 무엇입니까? (0) | 2020.03.19 |
Cocoa의 콘솔 / 로그에 스택 추적을 어떻게 인쇄합니까? (0) | 2020.03.19 |
UTC / GMT 시간을 현지 시간으로 변환 (0) | 2020.03.19 |