Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Teilen Sie eine Spalte in mehrere Spalten auf, aber die Daten variieren in SQL

Ich habe mein Problem gelöst und danke für die Hinweise und Hilfe.

Ich habe im Grunde einen zweiten Cursor hinzugefügt, der Folgendes tut:

  • Nehmen Sie das Feld Zusammengeführter vollständiger Name und fügen Sie es in eine temporäre Variable ein.
  • Überprüft den Titel, indem eine Case-Anweisung ausgeführt wird, um Mr, Mrs usw. zu überprüfen. Andernfalls geben Sie eine leere Zeichenfolge in den Titel ein.
  • Titel aktualisieren Kürzen Sie den Titel des zusammengeführten vollständigen Namens
  • Überprüfen Sie den Nachnamen mit RIGHT(@TempName, CHARINDEX(' ',REVERSE(@TempName)) - 1) und nehmen Sie an, dass dies der Nachname ist.
  • Aktualisieren Sie den Zuschnitt des Nachnamens und ersetzen Sie diesen des zusammengeführten vollständigen Namens
  • Überprüfen Sie links den Vornamen mit LEFT(@TempName, CHARINDEX(' ',
    @TempName + ' ') -1)
  • Aktualisieren Sie den Trim des Vornamens und ersetzen Sie diesen des zusammengeführten vollständigen Namens
  • Alles andere wird in den zweiten Vornamen eingefügt.

Etwas langatmig, aber in 99,9 % der Fälle in meiner Datenbank formatiert es perfekt.

Wenn Sie den obigen Code möchten, lassen Sie es mich wissen.

Vielen Dank für Ihre Zeit.