1. ホーム
  2. sql-server

[解決済み] 文字列から特定の文字を削除する

2022-03-01 10:12:49

質問

ある文字を削除したいのですが、どうすればいいですか?

今のところ、次のような出力があります。 cityname district を削除したいのですが cityname .

SELECT Ort FROM dbo.tblOrtsteileGeo
WHERE GKZ = '06440004'

出力します。

Büdingen Aulendiebach
Büdingen Büches
Büdingen Calbach
Büdingen Diebach
Büdingen Dudenrod
Büdingen Düdelsheim

希望する出力

Aulendiebach
Büches
Calbach
Diebach
Dudenrod
Düdelsheim

解決方法は?

を使用することができます。 Replace という関数があります。

REPLACE ('Your String with cityname here', 'cityname', 'xyz')
--Results
'Your String with xyz here'

これをテーブルのカラムに適用すると stringColumnName, cityName both are columns of YourTable

SELECT REPLACE(stringColumnName, cityName, '')
FROM YourTable

を削除したい場合、または 'cityName' 列の出力から文字列を削除するには

SELECT REPLACE(stringColumnName, 'cityName', '')
FROM yourTable

EDITです。 詳細が判明しましたので。 REPLACE 関数は、あなたの問題を解決するための最良の方法とは言えません。以下は別の方法です。また、@MartinSmithが良い回答をしています。これで、もう一度選択することができます。

SELECT RIGHT (O.Ort, LEN(O.Ort) - LEN(C.CityName)-1) As WithoutCityName
FROM   tblOrtsteileGeo O
       JOIN dbo.Cities C
         ON C.foo = O.foo
WHERE  O.GKZ = '06440004'