sql >> Databasteknik >  >> RDS >> Sqlserver

Få en viss del av strängen i T-SQL

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

och om längden inte är konstant:

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

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

EDIT:För att se till att dålig data hanteras, till exempel ingen text först eller ingen siffra sist, här är ett lite annorlunda tillvägagångssätt:

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


  1. Konvertera SQL Server varBinary-data till strängen C#

  2. Tomcat 6/7 JNDI med flera datakällor

  3. Axon Aggregate Identifier Type Converter

  4. Varför infogar denna lagrade procedur NULL-värden i tabellen?