我有非常大的数字,例如765478865543
。
我想检查数字之间是否匹配或排序。
是否可以在sql sever
中执行此操作?
例如: 我有这样的清单
765478865543,765478865544,765478865666,4553355667533,...,
我想知道是否有其他数字中的每个数字的序列化,如果存在序列化,是否可以计算匹配的数字?!
预期结果: number已序列化为序列化 765478865543是的765478865544
答案 0 :(得分: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