2017-07-25 3 views
0

Ich versuche, ein Update auf meinem SQL-DB mit einem ersetzen aber nicht sicher, wie der gesamte Text ersetzt zu bekommen. Wir verwenden ein Feld in ps_product, das "Ort" genannt wird, und ich möchte alle Zeilen, die "K" enthalten, durch "" ersetzen. Zum Beispiel haben wir eine Zeile, die "K18B" heißt, und ich möchte eine ersetzen, wo die Zeile mit "K%" durch "" ersetzt wird.Gesamten Text durch einen Teil der Textzeichenfolge ersetzen SQL

Ich habe dieses UPDATE, aber ich denke nur, es ersetzt das "K" und nicht die gesamte Zeile.

UPDATE ps_product 
SET location = REPLACE(location, 'K%', '') 
WHERE location LIKE('K%'). 

Wer kann mir helfen? Ich möchte das Ergebnis „“ mit allen Zeilen, die eine enthält „sein K“, zum Beispiel K18B -> „“

+0

Warum legen Sie nicht einfach 'location =" "', was ist die Notwendigkeit der Ersetzungsfunktion, wenn Sie es leer machen wollen. Können Sie einige Beispiel-Eingabe und erwartete Ausgabedaten posten –

Antwort

2

Seine unklar, was Sie wollen so hier alle Möglichkeiten, die mir in den Sinn kommen


Wenn Sie alle Ks entfernen möchten, so 1K8B immer 18B:

UPDATE ps_product 
SET location = REPLACE(location, 'K', '') 

Wenn Sie die Ks nur entfernt werden sollen für die Standorte BEGI nning mit einem K, so K18B immer 18B:

UPDATE ps_product 
SET location = REPLACE(location, 'K', '') 
WHERE location LIKE 'K%' 

Wenn Sie mit einem K 'beginnen zu leer, um alle Standorte setzen wollen, so K18B Werdens:

UPDATE ps_product 
SET location = '' 
WHERE location LIKE 'K%' 

Wenn Sie festlegen möchten, dass alle Orte, die ein K enthalten, leer sind, wird 1K8B zu '':

UPDATE ps_product 
SET location = '' 
WHERE location LIKE '%K%' 
+0

Vielen Dank, seine Option 3 Ich möchte verwenden =) –

Verwandte Themen