79 Stimmen

Wie konvertiert man mit SQL Server Leerzeichen in Nullwerte?

Ich habe eine Tabelle, deren Spalten für einige Datensätze leere Stellen enthalten. Nun muss ich die Daten in eine andere Tabelle verschieben und die leeren Stellen durch eine NULL Wert.

Ich habe versucht, es zu benutzen:

REPLACE(ltrim(rtrim(col1)),' ',NULL)

aber es funktioniert nicht. Es konvertiert alle Werte von col1 a NULL . Ich möchte nur die Werte, die Leerzeichen enthalten, in NULL .

7voto

Vielleicht so etwas wie das hier?

UPDATE [MyTable]
SET [SomeField] = NULL
WHERE [SomeField] is not NULL
AND LEN(LTRIM(RTRIM([SomeField]))) = 0

0voto

DForck42 Punkte 18823

Hier ist ein Regex für Sie.

update table
set col1=null
where col1 not like '%[a-z,0-9]%'

findet im Wesentlichen alle Spalten, die keine Buchstaben oder Zahlen enthalten, und setzt sie auf Null. Möglicherweise müssen Sie sie aktualisieren, wenn Sie nur Spalten mit Sonderzeichen haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X