Возьмите только числовое значение и разделите их пробелом

У меня есть данные ниже

        Client
        _____________________________________________________
        Ruby Ong 488882963
        CRN 31900236 - Bashir, Ali
        508017963_Macalister, Shawn and Lang Group
        178099564- PRQL 36997 Pritchard , Bob and Lyn
        Lore, S
        97209533 and 779416997_Harvey P & M
        CIN 473824252 Fay 2018 fin plan
        123456789 987456156 456123456
        cif_client_reference__C
        Michael John Smith PRQL CLIENT ID 470810
        PRQL ID: 458895 PRQL ID: 458599 CRN: 3260176 CRN: 11439717

Мне нужно собрать все числа и разделить их пробелом.

Client 
___________________________
488882963
31900236
508017963
178099564 36997

97209533 779416997
473824252 2018
123456789 987456156 456123456

470810
458895 458599 3260176 11439717

Я попытался использовать функцию ниже, она дает мне все числовые данные, однако она не разделяет данные с пробелом. он объединяет все числовые значения в 1 длинные числа.

ALTER FUNCTION [dbo].[UDF_GetNumeric]
(@strAlphaNumeric VARCHAR(256))
RETURNS VARCHAR(256)
AS
BEGIN
DECLARE @intAlpha INT
SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric)
BEGIN
WHILE @intAlpha > 0
BEGIN
SET @strAlphaNumeric = STUFF(@strAlphaNumeric, @intAlpha, 1, '' )
SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric )
END
END
RETURN ISNULL(@strAlphaNumeric,0)
END

Я использую Microsoft SQL Server 2012.

Спасибо всем за вашу помощь.

Adhi

0 ответов

Другие вопросы по тегам