sql >> Databasteknik >  >> RDS >> Sqlserver

SQL- Hämta delsträngen efter första mellanslag och andra mellanslag i separata kolumner

SQL Server har inte särskilt bra strängmanipuleringsfunktioner. Detta är enklare med underfrågor:

select firstname,
       stuff(reverse(stuff(reverse(legalname), 1, len(lastname) + 1, '')),
             1, len(firstname) + 1, '')
from (select legalname,
             left(legalname, charindex(' ', legalname) - 1) as firstname,
             right(legalname, charindex(' ', reverse(legalname)) - 1) as lastname
      . . .
     ) c

Jag skulle dock vara väldigt försiktig, eftersom inte alla människor har tre delnamn. Och andra har suffix (JR, SR) och andra komplikationer.



  1. SQLite Visa tabeller

  2. MySQL &NHibernate. Hur åtgärdar du felet:Kolumnen "ReservedWord" tillhör inte tabellen ReservedWords?

  3. Syntaxfel för MySQL PÅ DUBLIKATNYCKELUPPDATERING

  4. GROUP_CONCAT flera fält med en annan avgränsare