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

SQLテーブルの行から末尾の:文字を削除します

    STUFF を使用できます 文字列の一部を置き換える関数。この場合、それは最後の文字です。

    UPDATE tbl
    SET COL = stuff(COL, len(COL), 1, '')
    WHERE COL > ''
    

    または、LEFTを使用して、最後の1つを除くすべてを取得します。条件COL>''は、LEFTが有効な長さを持つことを保証します。 LEFTはSQLServerのショートカットであり、SUBSTRING )として実装されているようです。 以下を参照)*

    UPDATE tbl
    SET COL = LEFT(COL, len(COL) -1)
    WHERE COL > ''
    

    末尾のセミコロンがある場合とない場合の両方のデータがある場合は、それらを具体的にターゲティングできます

    UPDATE tbl
    SET COL = LEFT(COL, len(COL) -1)
    WHERE RIGHT(COL,1) = ':'
    

    LEFTを使用したクエリのクエリプランは次のとおりです(テキストプランの上位3行のみが表示されます)

    select LEFT(text, LEN(text)-1), * from master..syscomments
    


    1. sql:DELETE+INSERTとUPDATE+INSERT

    2. 最後に挿入された行IDを取得します(SQLステートメントを使用)

    3. MySQLのLIKEクエリでORを使用して、複数のフィールドを比較する

    4. Excelのダウンロードが188kbスタックしました