sql >> Database teknologi >  >> RDS >> Sqlserver

Få en bestemt del af strengen i T-SQL

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

og hvis længden ikke er en konstant:

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

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

EDIT:For at sikre, at dårlige data håndteres, såsom ingen tekst først eller intet nummer sidst, er her en lidt anden tilgang:

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


  1. mysqli_connect():(HY000/2002):Kan ikke oprette forbindelse til lokal MySQL-server via socket

  2. MySQLSyntaxErrorException i nærheden af ​​? når du forsøger at udføre PreparedStatement

  3. At tage udgangspunkt i almindelig SQL Server-service

  4. INFO output trods SET client_min_messages TIL ADVARSEL lige før