sql >> データベース >  >> RDS >> Sqlserver

文字列から数値のみを取得するためのクエリ

    まず、この 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
    

    次に、functionを使用します として

    SELECT dbo.udf_GetNumeric(column_name) 
    from table_name
    

    SQLフィドル

    これで問題が解決したことを願っています。

    参照



    1. リモートサーバーからAmazonEC2のmysqlに接続します

    2. CONCAT()を使用してSQLServerで文字列を連結する方法

    3. SQLServerのユーザー定義関数の概要

    4. SQLServerのスキーマとは何ですか。SQLServerデータベースでスキーマを作成/削除する方法-SQLServer/TSQLチュートリアルパート27