SqlServer 2012 에서 LEAD 함수 에 대한 간단 한 분석

3040 단어 SqlServer2012LEAD
LEAD 함 수 는 간단하게 말 하면 다음 줄 의 한 열 데 이 터 를 현재 줄 로 추출 하여 표시 하 는 것 입 니 다.예 시 를 보면 더욱 명확 하 게 설명 할 수 있 습 니 다.먼저 테스트 용 스 크 립 트 를 보 세 요.

DECLARE @TestData TABLE( 
 ID INT IDENTITY(1,1), 
 Department VARCHAR(20), 
 LastName VARCHAR(20), 
 Rate FLOAT 
) 
INSERT INTO @TestData(Department,LastName,Rate) 
SELECT 'Document Control','Arifin',17.7885 UNION ALL 
SELECT 'Document Control','Norred',16.8269 UNION ALL 
SELECT 'Document Control','Kharatishvili',16.8269 UNION ALL 
SELECT 'Information Services','Chai',10.25 UNION ALL 
SELECT 'Information Services','Berge',10.25 UNION ALL 
SELECT 'Information Services','Trenary',50.4808 UNION ALL 
SELECT 'Information Services','Conroy',39.6635 UNION ALL 
SELECT 'Information Services','Ajenstat',38.4615 UNION ALL 
SELECT 'Information Services','Wilson',38.4615 UNION ALL 
SELECT 'Information Services','Connelly',32.4519 UNION ALL 
SELECT 'Information Services','Meyyappan',32.4519 

SELECT * FROM @TestData


이상 은 원본 데이터 입 니 다.아래 에 LEAD 함 수 를 사용 하여 다른 줄 의 데 이 터 를 현재 줄 로 추출 하 는 방법 을 보 겠 습 니 다.

LEAD 함 수 는 ID 가 2 인 줄 의 LastName 값 을 첫 줄 에 추출 하여 새 열 NEXTuser 로 표시 합 니 다.
아래 이것 은 두 줄 간격 으로 데 이 터 를 추출 하 는 것 입 니 다.바로 세 번 째 줄 의 데 이 터 를 현재 줄 로 추출 하 는 것 입 니 다.다른 줄 은 순서대로 누 르 고 그림 을 보 는 것 입 니 다.

이 함 수 는 모두 세 개의 인 자 를 받 아들 입 니 다.첫 번 째 는 표현 식 입 니 다.상기 예제 에서 사용 하 는 필드 입 니 다.다른 효과 적 인 표현 식 일 수도 있 습 니 다.두 번 째 인 자 는 offset 입 니 다.즉,몇 줄 간격 으로 데 이 터 를 가 져 오 는 지,세 번 째 는 기본 간격 입 니 다.즉,offset 이 지정 되 지 않 았 을 때 이 를 기준 으로 합 니 다.
예 를 들 어 상기 코드 를 예 로 들 면
LEAD(LastName,2,0)
그 2 를 지정 하지 않 았 을 때 는 0 간격 으로 행동 하고 그 2 를 지정 할 때 는 2 줄 간격 으로 데 이 터 를 가 져 오기 때문에 세 번 째 매개 변 수 는 지정 하지 않 아 도 되 고 효 과 는 같 습 니 다.다음 그림 과 같 습 니 다.

LEAD 함수 에 대응 하 는 함수 가 하나 더 있 습 니 다.LAG,다음 그림 효 과 를 보 세 요.

위의 그림 에서 보 듯 이 이 함 수 는 위 줄 에서 데 이 터 를 가 져 오 는 것 입 니 다.다른 간격 매개 변수의 의미 와 같이 LEAD 는 아래 줄 에서 데 이 터 를 가 져 옵 니 다.TAG 는 반대로 위 줄 에서 데 이 터 를 가 져 옵 니 다.여기까지 쓰 면 마이너스 가 지정 되면 함수 로 합 칠 수 있 지 않 을 까 생각 합 니 다.생각 을 시험 해 보다.

오류,offset 인 자 는 마이너스 가 될 수 없습니다.형 은 댓 글 을 하지 않 습 니 다.,The End.

좋은 웹페이지 즐겨찾기