16

varcharピリオド()を除いて、別のテーブルにある主キーとほとんど同じであるいくつかの列を持つテーブルがあり.ます。replaceT-SQLの関数を見てきましたが、最初の引数は式ではありません。SQLで特定の文字のすべての出現を削除するにはどうすればよいですか?正解は長さゼロの文字列に置き換えることかもしれないようです。近いですか?

質問が研究努力を示さないと感じた人にとって、それは主に文書自体の誤解によるものでした。

4

3 に答える 3

45

REPLACE列の値を使用して、テーブルを直接更新できます。

UPDATE myTable
SET myColumn = REPLACE(myColumn, '.', '')
于 2012-06-07T19:37:44.877 に答える
6

のすべてのインスタンスを削除しますか?文字列から?もしそうなら、あなたは正しかったREPLACE

DECLARE @Example TABLE
(
    Value VARCHAR(100)
)
INSERT @Example (Value)
VALUES ('Test.Value'), ('An.otherT.est')

SELECT
    REPLACE(Value, '.', '')
FROM
    @Example

-- Replace only the first '.'
SELECT
    STUFF(Value, CHARINDEX('.', Value, 0), 1, '')
FROM
    @Example

編集して、とにかくそれをいじってみたので、例をもう少し便利にします。例を投稿したほうがいいかもしれません。:)

于 2012-06-07T19:37:26.670 に答える
6
update your_table
set some_column = replace(some_column, '.', '')
于 2012-06-07T19:38:15.723 に答える