![sin imagen de perfil sin imagen de perfil](/img/anonymouse.png)
División de cadena
Publicado por División de cadena (4 intervenciones) el 13/04/2021 21:38:10
Que tal
Tengo un archivo que contiene un listado de rutas donde se encuentran ciertos archivos
declare @cadena varchar(100) = '\\nas\ANEXOS_ARTICULOS\COC\EQ_ACC\EQUIPOS\HORNOS\SMEG\17227906-SF7390X-MUSR1.pdf'
Lo que deseo realizar es la separación de la cadena para obtener
--RUTA
--Nombre del archivo
--Codigo = 17227906 (en este caso)
--Tipo de archivo
Este es mi código, pero es muy repetitivo, considero que lo optimo seria agregar un ciclo
Al igual ahorita si la cadena crece, este código manda un error
Tengo un archivo que contiene un listado de rutas donde se encuentran ciertos archivos
declare @cadena varchar(100) = '\\nas\ANEXOS_ARTICULOS\COC\EQ_ACC\EQUIPOS\HORNOS\SMEG\17227906-SF7390X-MUSR1.pdf'
Lo que deseo realizar es la separación de la cadena para obtener
--RUTA
--Nombre del archivo
--Codigo = 17227906 (en este caso)
--Tipo de archivo
Este es mi código, pero es muy repetitivo, considero que lo optimo seria agregar un ciclo
Al igual ahorita si la cadena crece, este código manda un error
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
declare @cadena varchar(100) = '\\nas\ANEXOS_ARTICULOS\COC\EQ_ACC\EQUIPOS\HORNOS\SMEG\17227906-SF7390X-MUSR1.pdf'
declare @Ruta varchar(100)
declare @V1 varchar(100)
declare @V2 varchar(100)
declare @C1 varchar(100)
declare @C2 varchar(100)
declare @C3 varchar(100)
declare @C4 varchar(100)
declare @C5 varchar(100)
declare @C6 varchar(100)
declare @C7 varchar(100)
declare @C8 varchar(100)
declare @C9 varchar(100)
declare @C10 varchar(100)
declare @C11 varchar(100)
SELECT @Ruta=@cadena
SELECT @V1 = SUBSTRING(@cadena, 1, CHARINDEX('\', @cadena) - 1)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('\', @cadena) + 1), LEN(@cadena))
PRINT @CADENA
SELECT @V2 = SUBSTRING(@cadena, 1, CHARINDEX('\', @cadena) - 1)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('\', @cadena) + 1), LEN(@cadena))
PRINT @CADENA
SELECT @C1 = SUBSTRING(@cadena, 1, CHARINDEX('\', @cadena) - 1)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('\', @cadena) + 1), LEN(@cadena))
PRINT @CADENA
SELECT @C2 = SUBSTRING(@cadena, 1, CHARINDEX('\', @cadena) - 1)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('\', @cadena) + 1), LEN(@cadena))
SELECT @C3 = SUBSTRING(@cadena, 1, CHARINDEX('\', @cadena) - 1)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('\', @cadena) + 1), LEN(@cadena))
SELECT @C4 = SUBSTRING(@cadena, 1, CHARINDEX('\', @cadena) - 1)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('\', @cadena) + 1), LEN(@cadena))
SELECT @C5 = SUBSTRING(@cadena, 1, CHARINDEX('\', @cadena) - 1)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('\', @cadena) + 1), LEN(@cadena))
SELECT @C6 = SUBSTRING(@cadena, 1, CHARINDEX('\', @cadena) - 1)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('\', @cadena) + 1), LEN(@cadena))
SELECT @C7 = SUBSTRING(@cadena, 1, CHARINDEX('\', @cadena) - 1)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('\', @cadena) + 1), LEN(@cadena))
SELECT @C8 = SUBSTRING(@cadena, 1, CHARINDEX('-', @cadena) - 1)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('-', @cadena) + 1), LEN(@cadena))
SELECT @C9 = SUBSTRING(@cadena, 1, CHARINDEX('-', @cadena) - 1)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('-', @cadena) + 1), LEN(@cadena))
SELECT @C10 = SUBSTRING(@cadena, 1, CHARINDEX('.', @cadena) - 1)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('.', @cadena) + 1), LEN(@cadena))
SELECT @C11 = SUBSTRING(@cadena, 1, CHARINDEX('.', @cadena) + 3)
SET @cadena = SUBSTRING(@cadena,(CHARINDEX('.', @cadena) - 1), LEN(@cadena))
SELECT @Ruta AS RUTA
,@V1 AS VACIO1
, @V2 AS VACIO2
, @C1 AS CARPETA1
, @C2 AS CARPETA2
, @C3 AS CARPETA3
, @C4 AS CARPETA4
, @C5 AS CARPETA5
, @C6 AS CARPETA6
, @C7 AS CARPETA7
, @C8 AS CARPETA8
, @C9 AS CARPETA9
, @C10 AS CARPETA10
, @C11 AS CARPETA11
Valora esta pregunta
![Me gusta: Está pregunta es útil y esta clara Me gusta: Está pregunta es útil y esta clara](/img/img.png?11.51)
![NO me gusta: Está pregunta no esta clara o no es útil No me gusta: Está pregunta no esta clara o no es útil](/img/img.png?11.51)
0