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

T-SQLトリム&nbsp(およびその他の英数字以外の文字)

    これにより、英数字以外の文字がすべて削除されます

    CREATE FUNCTION [dbo].[fnRemoveBadCharacter]
    (
        @BadString nvarchar(20)
    )
    RETURNS nvarchar(20)
    AS
    BEGIN
    
                DECLARE @nPos INTEGER
                SELECT @nPos = PATINDEX('%[^a-zA-Z0-9_]%', @BadString)
    
                WHILE @nPos > 0
                BEGIN
                            SELECT @BadString = STUFF(@BadString, @nPos, 1, '')
                            SELECT @nPos = PATINDEX('%[^a-zA-Z0-9_]%', @BadString)
                END
    
                RETURN @BadString
    END
    

    次のような関数を使用します:

    UPDATE TableToUpdate
    SET ColumnToUpdate = dbo.fnRemoveBadCharacter(ColumnToUpdate)
    WHERE whatever
    


    1. MySQLで行の値を列として表示する方法

    2. 文字列列を持つSQLBetween句

    3. 未使用のものでお金を稼ぐ:シェアリングエコノミーデータモデル

    4. SQLインデックスの概要