sql >> Databáze >  >> RDS >> Sqlserver

SQL- Získá podřetězec za první mezerou a druhou mezerou v samostatných sloupcích

SQL Server nemá velmi dobré funkce pro manipulaci s řetězci. S dílčími dotazy je to jednodušší:

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

Byl bych však velmi opatrný, protože ne všichni lidé mají tři jména. A další mají přípony (JR, SR) a další komplikace.



  1. Jak vykreslit dlaždice OSM

  2. Chyba Castle Activerecord je „vztah neexistuje“ na Postgresql?

  3. SQL vztah mnoho k mnoha mezi více tabulkami

  4. Přiřaďte hodnotu databáze MySQL proměnné PHP