Query to get only numbers from a string

前端 未结 14 2249
野性不改
野性不改 2020-11-22 06:17

I have data like this:

string 1: 003Preliminary Examination Plan   
string 2: Coordination005  
string 3: Balance1000sheet

The output I exp

14条回答
  •  囚心锁ツ
    2020-11-22 06:22

    First create this UDF

    CREATE 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
    GO
    

    Now use the function as

    SELECT dbo.udf_GetNumeric(column_name) 
    from table_name
    

    SQL FIDDLE

    I hope this solved your problem.

    Reference

提交回复
热议问题