0

なぜこれが機能しないのですか?文字セットの問題か何かですか?これは私を夢中にさせています。ずっと探してました。多分それはそれらの日のうちの1つです。:(

select replace('Doe, John B ',' _ ','')

期待される結果: "Doe, John"

実際の結果: "Doe, John B"

でこれが不可能な場合replace、他にどのようにしてこの結果を達成できますか?

4

2 に答える 2

2

関数は、REPLACESQL サーバーでパターン/ワイルドカードを受け入れません。

于 2012-10-03T17:50:48.213 に答える
1

この変数のみ:

select 
rtrim(reverse(substring(reverse(rtrim('Doe, John B ')), charindex(' ', reverse(rtrim('Doe, John B '))), len(rtrim('Doe, John B ')))))

テーブル全体の場合:

select 
rtrim(reverse(substring(reverse(rtrim(columnname)), charindex(' ', reverse(rtrim(columnname))), len(rtrim(columnname)))))
from tablename
where columnname like '% _ '
于 2012-10-03T18:13:12.020 に答える