2016-09-27 4 views
0

765478865543과 같은 매우 큰 숫자가 있습니다.숫자 사이의 직렬화

숫자 사이에 일치가 있는지 확인하고 싶습니다.

sql sever에서 가능합니까?

예를 들어

: 나는이

765478865543,765478865544,765478865666,4553355667533 같은 목록, ...,

내가 알고 싶은 한 경우가 각각의 숫자들에 대한 직렬화 다른 숫자 및 직렬화가 있으면 일치하는 숫자를 계산할 수 있습니까?!

예상 된 결과 : 수는 직렬화 내가 당신이 원하는 것을 확실하지 않다
765478865543 예 765,478,865,544

+6

귀하의 질문은 매우 명확하지 않다. –

+0

예상 결과를 표시하십시오. – NEER

+0

여기서부터 시작하는 것이 좋습니다. http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –

답변

1

직렬화하고있다. 당신은 다음과 같이 연속 번호를 찾을 수 있습니다

DECLARE @MockTable TABLE (Id DECIMAL) 
INSERT INTO @MockTable   
VALUES 
(765478865543), 
(765478865544), 
(765478865545), 
(765478865550), 
(765478865551), 
(765478865561), 
(765478865581), 
(765478865583), 
(765478865584) 

;WITH CTE 
AS 
(
    SELECT 
     Id, 
     ROW_NUMBER() OVER (ORDER BY Id) RowId  
    FROM 
     @MockTable 
) 

SELECT * FROM 
(
    SELECT 
     MIN(Id) [Start], 
     MAX(Id) [End] 
    FROM 
     CTE 
    GROUP BY 
     Id - CTE.RowId 
) A 
WHERE 
    A.Start <> A.[End] 

결과 :

Start         End 
--------------------------------------- --------------------------------------- 
765478865543       765478865545 
765478865550       765478865551 
765478865583       765478865584 
관련 문제