なぜこれが機能しないのですか?文字セットの問題か何かですか?これは私を夢中にさせています。ずっと探してました。多分それはそれらの日のうちの1つです。:(
select replace('Doe, John B ',' _ ','')
期待される結果: "Doe, John"
実際の結果: "Doe, John B"
でこれが不可能な場合replace
、他にどのようにしてこの結果を達成できますか?
なぜこれが機能しないのですか?文字セットの問題か何かですか?これは私を夢中にさせています。ずっと探してました。多分それはそれらの日のうちの1つです。:(
select replace('Doe, John B ',' _ ','')
期待される結果: "Doe, John"
実際の結果: "Doe, John B"
でこれが不可能な場合replace
、他にどのようにしてこの結果を達成できますか?
関数は、REPLACE
SQL サーバーでパターン/ワイルドカードを受け入れません。
この変数のみ:
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 '% _ '