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

SQLで複数の文字を置き換える方法は?

    SQLの便利なトリックの1つは、@var = function(...)を使用する機能です。 値を割り当てます。レコードセットに複数のレコードがある場合、varは複数回割り当てられ、副作用があります:

    declare @badStrings table (item varchar(50))
    
    INSERT INTO @badStrings(item)
    SELECT '>' UNION ALL
    SELECT '<' UNION ALL
    SELECT '(' UNION ALL
    SELECT ')' UNION ALL
    SELECT '!' UNION ALL
    SELECT '?' UNION ALL
    SELECT '@'
    
    declare @testString varchar(100), @newString varchar(100)
    
    set @teststring = 'Juliet ro><0zs my s0x()[email protected]@[email protected]!'
    set @newString = @testString
    
    SELECT @newString = Replace(@newString, item, '') FROM @badStrings
    
    select @newString -- returns 'Juliet ro0zs my s0xrzone'
    


    1. 未定義の関数oci_connect、php_oci8_12c.dll、Windows 8.1、php5.6.6を呼び出します

    2. sp_プレフィックスはまだノーノーですか?

    3. IN句の関数またはプロシージャ

    4. MySQLのストアドプロシージャ内にオプションのパラメータを記述しますか?