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

Намерете индекса на последното появяване на подниз с помощта на T-SQL

Ясен начин? Не, но използвах обратното. Буквално.

В предишни процедури, за да намеря последното появяване на даден низ, използвах функцията REVERSE(), последвано CHARINDEX, последвано отново от REVERSE, за да възстановя първоначалния ред. Например:

SELECT
   mf.name
  ,mf.physical_name
  ,reverse(left(reverse(physical_name), charindex('\', reverse(physical_name)) -1))
 from sys.master_files mf

показва как да извлечете действителните имена на файлове на базата данни от техните "физически имена", без значение колко дълбоко са вложени в подпапки. Това търси само един знак (обратната наклонена черта), но можете да надградите това за по-дълги низове за търсене.

Единственият недостатък е, че не знам колко добре ще работи това с типове данни TEXT. От няколко години съм на SQL 2005 и вече не съм запознат с работата с TEXT -- но изглежда си спомням, че бихте могли да използвате НАЛЯВО и ДЯСНО върху него?

Филип



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да картографирате входните и изходните колони динамично в SSIS?

  2. Моментни снимки на базата данни на SQL Server -2

  3. Как да коригирате „Опцията за конфигурация „Agent XPs“ не съществува“ в SQL Server (T-SQL)

  4. Как да създадете съхранена процедура в SQL Server

  5. Как да разделите низ и да вмъкнете стойности в таблица в SQL Server