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

SQL Serverの文字列からすべての非アルファベット文字を削除するにはどうすればよいですか?

    この機能を試してください:

    Create Function [dbo].[RemoveNonAlphaCharacters](@Temp VarChar(1000))
    Returns VarChar(1000)
    AS
    Begin
    
        Declare @KeepValues as varchar(50)
        Set @KeepValues = '%[^a-z]%'
        While PatIndex(@KeepValues, @Temp) > 0
            Set @Temp = Stuff(@Temp, PatIndex(@KeepValues, @Temp), 1, '')
    
        Return @Temp
    End
    

    このように呼んでください:

    Select dbo.RemoveNonAlphaCharacters('abc1234def5678ghi90jkl')
    

    コードを理解すると、他の文字を削除するためにコードを変更するのも比較的簡単であることがわかります。これを動的にして、検索パターンを渡すこともできます。

    お役に立てば幸いです。



    1. OracleでONUPDATECASCADEを使用して外部キーを作成するにはどうすればよいですか?

    2. SQLServerで重複する行を削除する

    3. SQLiteReadOnlyDatabaseException:読み取り専用データベースを書き込もうとしました(コード1032)

    4. MariaDBでのCONCAT()のしくみ