sql >> Database >  >> RDS >> Sqlserver

Een bepaald deel van de string verkrijgen in T-SQL

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

en als de lengte geen constante is:

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

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

EDIT:om ervoor te zorgen dat slechte gegevens worden verwerkt, zoals geen tekst eerst of geen nummer als laatste, is hier een iets andere benadering:

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


  1. Controleer of de parameter NULL is binnen de WHERE-clausule

  2. Oracle SQL - retourneer een standaardwaarde als query geen resultaten oplevert

  3. Dynamische vervolgkeuzelijstwaarde uit database

  4. Unnes meerdere arrays parallel