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

Abrufen eines bestimmten Teils der Zeichenfolge in T-SQL

select stuff('prop234', 1,4,'')

und wenn die Länge nicht konstant ist:

declare @t table(expression varchar(100))
insert @t values('propprop234')

select stuff(expression, 1, patindex('%_[0-9]%', expression), '') from @t

BEARBEITEN:Um sicherzustellen, dass schlechte Daten behandelt werden, wie z. B. kein Text zuerst oder keine Zahl zuletzt, hier ist ein etwas anderer Ansatz:

select stuff(expression, 1,patindex('%[^0-9][0-9]%', expression + '0'), '') 
from @t