sql >> Databáze >  >> RDS >> Sqlserver

Dotaz k získání pouze čísel z řetězce

Nejprve vytvořte tento 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

Nyní použijte funkci function jako

SELECT dbo.udf_GetNumeric(column_name) 
from table_name

SQL FIDDLE

Doufám, že to vyřešilo váš problém.

Reference



  1. Které metody lze použít ke správě různých verzí již existujících databází?

  2. Jak odebrat sloupec v SQL Server pomocí T-SQL

  3. AKTUALIZACE Statistik

  4. SQLAlchemy - SQLite pro testování a Postgresql pro vývoj - Jak portovat?