2016-09-27 4 views
0

765478865543のような非常に大きな数字があります。数字間のシリアル化

数字の間に一致があるかどうかをチェックしたい場合や、シーケンスがある場合はチェックします。

sql severでは可能ですか?例えば

: 私は私がそこにいる場合の間で、各番号のいずれかのシリアライズを知りたいのですが、この

765478865543,765478865544,765478865666,4553355667533、...、

のようなリストを持っています他の番号、およびシリアル化が存在する場合は、一致する数を計上することが可能ですか?

期待される結果: 数は直列化は、私が何をしたいかわからない
765478865543はい765478865544

+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 
関連する問題