2016-06-29 6 views
0

Ich habe eine Tabelle mit n Anzahl der Datensätze und n Anzahl der Spalten. Ich möchte einige führende Leerzeichen zu den Datensätzen in einer bestimmten Spalte hinzufügen. Wie könnte ich das erreichen?Wie werden Datensätze in einer Tabelle mit führenden Leerzeichen aktualisiert?

Für Beispiel: Wenn die Spalte Datensatz wie 'AAAA' hat, möchte ich es wie (einige führende Leerzeichen).

+0

Wollen Sie eines des A des verlieren? Wenn ja, welcher? Was, wenn die Spalte "BBB" oder "XYZ" enthält? –

Antwort

1

Ich glaube, was Sie suchen, ist eine Möglichkeit zum Kopieren einer Spalte, die links aufgefüllt wird, auf die Gesamtzahl der Bytes durch die Länge angegeben. Sie können es erreichen, indem Sie LPAD verwenden.

Aber wenn was Sie wollen, ist nur ein Leerzeichen hinzufügen, unabhängig von der Länge können Sie einfach tun " " | column_name.

0
UPDATE TheAnonymousTable 
    SET TheEponymousColumn = ' ' || TheEponymousColumn 
WHERE TheEponymousColumn[1,4] != ' ' 

Das wird fast immer funktionieren. Unter bestimmten Umständen (wenn Sie eine MODE ANSI-Datenbank verwenden - wenn Sie sich nicht sicher sind, sind Sie es nicht) und wenn Sie Daten haben, die sich bereits innerhalb von 4 Leerzeichen der Spaltenlänge befinden, erhalten Sie einen Fehler -1279: Value exceeds string column length . Im Zusammenhang, wenn Sie die Länge der Säule kennen, sagen, 32 und Sie 4 Rohlinge einfügen, dann würden Sie dieses stattdessen schreiben müssen:

UPDATE TheAnonymousTable 
    SET TheEponymousColumn = ' ' || TheEponymousColumn[1,28] 
WHERE TheEponymousColumn[1,4] != ' ' 
Verwandte Themen