sql >> Database teknologi >  >> Database Tools >> SSMS

uddrag af tekst fra kolonne og kopier den til en ny kolonne

Forudsat at jeg skal udtrække fra en strengkolonne første forekomst af dato/tidsværdier med følgende format DD/MM/YYYY HH:SS (længde =16 tegn) så ville jeg bruge PATINDEX i stedet for CHARINDEX således:

SELECT *, SUBSTRING( x.StringColumn, NULLIF(PATINDEX('%[0-1][0-9]/[0-3][0-9]/[0-9][0-9][0-9][0-9][ ][0-9][0-9]:[0-9][0-9]%', x.StringColumn), 0), 16) AS DateTimeExtracted FROM (VALUES ('Bogdanel 01/02/2017 03:04 hei ho'), ('Georgel 05/06/2017 07:08 danga langa'), ('Suna''n asfintit 09/11/2018 11:22 hei talanga'), ('Danga langa. Pai da.'), (' '), (NULL) ) x(StringColumn)

Resultater:

StringColumn                                 DateTimeExtracted
-------------------------------------------- -----------------
Bogdanel 01/02/2017 03:04 hei ho             01/02/2017 03:04
Georgel 05/06/2017 07:08 danga langa         05/06/2017 07:08
Suna'n asfintit 09/11/2018 11:22 hei talanga 09/11/2018 11:22
Danga langa. Pai da.                         NULL
                                             NULL
NULL                                         NULL
 


  1. Udfør joinforbindelse på tilknyttede forespørgsler

  2. Kan ikke få adgang til MySQL via XAMPP og phpMyAdmin

  3. SQL Select-streng virker ikke

  4. Hvordan fungerer phpMyAdmin-eksportfunktionen?