sql >> Databáze >  >> RDS >> Sqlserver

Získání určité části řetězce v T-SQL

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

a pokud délka není konstantní:

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

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

EDIT:Chcete-li se ujistit, že budou zpracována špatná data, například žádný text na prvním místě nebo žádné číslo na konci, zde je trochu jiný přístup:

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


  1. Jednoduchý dotaz sugarcrm nefunguje

  2. Chyba při vyvolání skriptu Wordpress to Jekyll

  3. ResultSet.getTimestamp(date) vs ResultSet.getTimestamp(date, Calendar.getInstance(tz))

  4. Proč se při pokusu o přejmenování tabulky po FROM zobrazí chyba?