68

特定の文字を削除しようとしています。

現時点では次のような出力があります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
4

3 に答える 3

109

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

編集:詳細を説明したので、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'
于 2013-01-14T13:24:21.947 に答える
7

1 つの問題はREPLACE、都市名に地区名が含まれている場所です。のようなものを使用できます。

SELECT SUBSTRING(O.Ort, LEN(C.CityName) + 2, 8000)
FROM   dbo.tblOrtsteileGeo O
       JOIN dbo.Cities C
         ON C.foo = O.foo
WHERE  O.GKZ = '06440004' 
于 2013-01-14T13:37:46.760 に答える
5
UPDATE yourtable 
SET field_or_column =REPLACE ('current string','findpattern', 'replacepattern') 
WHERE 1
于 2017-12-12T06:22:59.963 に答える