sql >> Base de Datos >  >> RDS >> Sqlserver

Obtener una cierta parte de la cadena en T-SQL

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

y si la longitud no es una constante:

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

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

EDITAR:para asegurarse de que se manejen los datos incorrectos, como que no haya texto primero o ningún número al final, aquí hay un enfoque ligeramente diferente:

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