Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Pobieranie określonej części ciągu w T-SQL

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

a jeśli długość nie jest stała:

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

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

EDYCJA:Aby upewnić się, że obsługiwane są złe dane, takie jak brak tekstu na początku lub brak numeru na końcu, oto nieco inne podejście:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Skonfiguruj wysyłanie dzienników programu SQL Server

  2. Określ, które obiekty odwołują się do tabeli w SQL Server

  3. Excel do SQL Server z Microsoft.ACE.OLEDB.12.0

  4. Usuń końcowe spacje i aktualizuj w kolumnach w SQL Server

  5. Obliczanie wartości przy użyciu poprzedniej wartości wiersza w T-SQL