Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Dividi una colonna in più colonne ma i dati varieranno SQL

Ho risolto il mio problema e grazie per gli indizi e l'aiuto.

Fondamentalmente ho aggiunto un secondo cursore che fa quanto segue:

  • Prendi il campo Nome completo unito e inseriscilo in una variabile temporanea.
  • Controlla il titolo eseguendo una dichiarazione del caso per verificare che il signor, la signora, ecc., inserisca una stringa vuota in Titolo.
  • Aggiorna titolo Taglia il titolo del nome completo unito
  • Controlla il cognome con RIGHT(@TempName, CHARINDEX(' ',REVERSE(@TempName)) - 1) e supponi che questo sia il cognome.
  • Aggiorna il cognome Taglia e sostituisci questo del nome completo unito
  • Seleziona a sinistra il nome con LEFT(@TempName, CHARINDEX(' ',
    @TempName + ' ') -1)
  • Aggiorna nome Taglia e sostituisci questo nome completo unito
  • Qualsiasi altra cosa viene inserita nel secondo nome.

Un po' prolisso, ma nel 99,9% dei casi nel mio database si formatta perfettamente.

Se desideri il codice sopra, fammi sapere.

Grazie per il tuo tempo.