Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Получаване на определена част от низа в T-SQL

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

и ако дължината не е константа:

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

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

РЕДАКТИРАНЕ:За да сте сигурни, че се обработват лоши данни, като липса на текст първо или без число последно, ето малко по-различен подход:

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. Мога ли да създам глобална функция в SQL Server?

  2. Множество условия в клаузата WHERE

  3. Изберете Записи няколко пъти от таблицата

  4. CTE безкраен цикъл с ОПЦИЯ (макс. рекурсия 0)

  5. Как правите множество вътрешни свързвания в Linq to Entities