2016-07-12 6 views
0

У меня есть строковое значение, как это:Split слэш значения, разделенные в SQL Server

\\dsm-smo38\RepositorioEntregable\Archivos\19062016\CAPTACION\BAZ\07566\075660106201515171475.tif 

Я хочу, чтобы избавиться от

\\dsm-smo38\RepositorioEntregable\Archivos\19062016\CAPTACION\ 

и только держать

BAZ\07566\075660106201515171475.tif 

Как Я могу это сделать?

С уважением!

+0

Это одно время, вы сделаете это несколько раз или будете частью, которую хотите избавиться от изменений? Любой конкретный язык? – depperm

+0

Привет, я с sql server 2012, я сделаю это несколько раз, потому что в таблице много записей. –

ответ

0

Aldo, вы можете попробовать следующее. Если вы не собираетесь «BAZ» в своей строке все время, вы можете сделать код ниже в функцию и передать любую строку, из которой вы хотите начать извлечение. Например, вы можете установить @FilterStrng = 'Archivos'. Это даст вам строку, начинающуюся с «Archivos».

CREATE TABLE #SplashString 
    (
     StringText VARCHAR(255) 
    ); 
INSERT INTO #SplashString 
     (StringText) 
VALUES ('\\dsm-smo38\RepositorioEntregable\Archivos\19062016\CAPTACION\BAZ\07566\075660106201515171475.tif' -- StringText - varchar(255) 
     ), 
     ('\\dsm-smo38\RepositorioEntregable\Archivos\DOCS1906201601\BAZ\05884\0588402052014‌​2706162.tif' -- StringText - varchar(255) 
     ); 
DECLARE @FilterStrng VARCHAR(255)= 'BAZ\'; 
SELECT STUFF(StringText, 1, CHARINDEX(@FilterStrng, StringText) - 1, '') AS FilteredString 
FROM #SplashString; 
+0

Это работало для меня всего лишь 1 вещь, я закрыл часть таблицы #SplashString и сделаю следующее: 'DECLARE @FilterStrng VARCHAR (255) = 'BAZ \'; SELECT TOP 100 STUFF (RUTAREPOSITORIO, 1, CHARINDEX (@FilterStrng, RUTAREPOSITORIO) - 1, '') AS FilteredString от tbl_ope_entregable, где tabla = 'captacion' order by entregable_id desc'. Большое большое спасибо!! –

0

если \ ДСМ-smo38 \ RepositorioEntregable \ Archivos \ 19062016 \ CAPTACION \ соответствует вы можете использовать замену:

select replace(your_column,'\\dsm-smo38\RepositorioEntregable\Archivos\19062016\CAPTACION\','') 
from your_table 
+0

Привет, Костя, спасибо, отвечая на мой вопрос, но это значение несовместимо, иногда имеет \\ dsm-smo38 \ RepositorioEntregable \ Archivos \ DOCS1906201601 \ BAZ \ 05884 \ 05884020520142706162.tif. –

+0

@ Алдо Geovani, У вас есть BAZ в вашей строке все время или это меняется? Вы хотите, чтобы строка начиналась с BAZ? – Drishya1

0

Предполагая, что 'БАЗ' всегда в значении столбца.

SELECT right(your_column, 
len(your_column) - Charindex('BAZ', your_column, 1) + 1) 
FROM 
your_table 
+1

Спасибо Nagaraj. Оба ответа (Дришья и ты) решили мою проблему. Большое спасибо. –

Смежные вопросы