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

Verwenden von PATINDEX, um Muster unterschiedlicher Länge in T-SQL zu finden

Ich habe vor einiger Zeit darüber gebloggt Nummern mit SQL-Server

Declare @Temp Table(Data VarChar(100))

Insert Into @Temp Values('some text 456.09 other text')
Insert Into @Temp Values('even more text 98273.453 la la la')
Insert Into @Temp Values('There are no numbers in this one')

Select Left(
             SubString(Data, PatIndex('%[0-9.-]%', Data), 8000),
             PatIndex('%[^0-9.-]%', SubString(Data, PatIndex('%[0-9.-]%', Data), 8000) + 'X')-1)
From   @Temp