Generación de una vista con campos específicos

Cordial saludo Experto:
En mis primeros pinitos en SQL me he encontrado con la necesidad de crear una vista con esta información inicial:
Col_C (leng 13)
0000044505003
0000445500310
0000004455080
0044555006502
Sucede que debo crear una vista que tenga la siguiente información
Col_A                                  Col_B
44505003 5003
445500310 500310
4455080 5080
44500056502 56502
Ambas columnas de la vista es tomada de una sola columna (pero no es obligación). Como se observa la Col_A de la vista la información que contiene es quitándole los ceros que existen a la izquierda de los registros de la Col_C y la Col_B de la vista es la información que hay después del 445 quitándole los ceros. Es un poco extraña la consulta y no sé cómo hacerla.

2 Respuestas

Respuesta
1
Espero que lo siguiente te de una idea.
-- Voy a cear una vista con los datos que me mandaste, no es necesario que la crees tu
-- Puedes usar la tabla que ya tienes
Create view test (col_c)
As
select '0000044505003'
Union
select '0000445500310'
Union
select '0000004455080'
Union
select '0044555006502'
GO
-- Aqui hago la consulta
select
substring(col_c,charindex('445',col_c), len(col_c -charindex('445',col_c))),
substring(col_c,(charindex('445',col_c) +3), len(col_c) - charindex('445',col_c) + 3)
From test
Go
Mucha suerte
Respuesta
1
Puedes hacer con el siguiente script, el problema es con el ultimo valor
no hay un forma de hacerlo con un vista común y corriente.
Para realizar eso necesitarías un crear un procedimiento almacenado, para realizar las consultas por medio de funciones y obtener una lista de la información
--Select CHARINDEX('445','0000445500310'), SUBSTRING('0000445500310', CHARINDEX('445','0000445500310'), 3),
--SUBSTRING('0000445500310', CHARINDEX('445','0000445500310')+3,10)--select CHARINDEX('445','0000445500310'), SUBSTRING('0000445500310', CHARINDEX('445','0000445500310'), 3),
--SUBSTRING('0000445500310', CHARINDEX('445','0000445500310')+3,10)
Si necesitas ayuda este es mi msm [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas