Composición de Una Tabla de Números a Partir de Una Lista de Números Separada por Comas en Transact SQL Leonel Morales Díaz Ingeniería Simple Copyright 2008 by Leonel Morales Díaz – Ingeniería Simple. Derechos reservados Disponible en:
Requerimientos Dada una lista de números separada por comas –54, 82, 61, 33, 87, 956, 657 Componer una tabla con esos números
Función en Transact SQL Maneja el caso trivial: –Lista vacía Prevé listas con repetidos Create Function SeleInts nVarChar(Max) ) Table (UnInt Int Primary Key) As Begin nVarChar(Max) = + ',' Table (UnInt Int) Int = 0 Int = > 0 Begin > 1 Insert Values + - 1) As Int)) = End Insert Select Distinct * Return End
Ejemplo de Uso Select * From dbo.SeleInts('54, 82, 61, 33, 87, 956, 80, 0, 61, -9, 61, 657') UnInt (10 row(s) affected)
Variante Permitir números de punto flotante Create Function SeleFloats nVarChar(Max) ) Table (UnFloat Float Primary Key) As Begin nVarChar(Max) = + ',' Table (UnFloat Float) Int = 0 Int = > 0 Begin > 1 Insert Values + - 1) As Float)) = End Insert Select Distinct * Return End