![]() |
Separar texto y numero de un campo a otro campo Hola Estoy buscando la forma de separar en dos columnas el valor de una columna ( o sea el valor de un campo en dos campos por cada fila) Esto lo quiero hacer mediante una vista. Basicamente el campo de origen contiene una cadena compuesta por letras y numeros y esto lo quiero divido en dos campos. El primero con las letras y el segundo con los numeros Ejemplo: Datos del campo de origen ColumnaA ghga1jk231kl121 212jkkj21jkj 12313 pojnjk12123 Resultado deseado ColumaB........................ColumnaC ghgajkkl........................1231121 jkkjjkj............................21221 .....................................12313 pojnjk............................12123 |
Re: Separar texto y numero de un campo a otro campo Hola, sería mucho más simple si tuvieras un caracter delimitador entre los números y el texto, o bien que el texto o el número tuvieran un número definido de caracteres (para exstraerlos con la función substring o charindex). Será que el foro se comió los espacios?? De otra manera no se me ocurre más que hacer un montón de cases testeando cada caracter hasta identificar la parte numerica y la parte texto :P saluodos |
Re: Separar texto y numero de un campo a otro campo Juastamente no tengo un caracter delimitador o una cantidad espesifica de espacio. Realmente en el campo su usa para escribir el telefono del cliente y otros datos. Por eso debo recuperar solo los caracter numericos en otra columna que seria el telefono. |
Re: Separar texto y numero de un campo a otro campo Hola, siempre y cuando no exista números en la parte del texto puede hacerse una función que testee cada caracter y determine donde empiezan los numeros Aca te dejo una funcion que obtiene el telefono desde un varchar de 6 caracteres Código PHP: También tendrás que hacer otra función similar para obtener la parte del texto. Saludos! |
Re: Separar texto y numero de un campo a otro campo La idea puede ser que leas toda esa cadena y vayas comparando cuando hay un número lo lleves para la variable que tú quieres o para un campo esta es una manera para hacerlo busca algún comando que te cuente la cadena completa después uno a uno lo comparas si es un número y lo llevas donde tú quieras .... es una idea espero te sirva saludos jose |
Re: Separar texto y numero de un campo a otro campo Me gusto la idea de Jose, porque realmente la cantidad de caracter en el campo es grande, ademas entre los numeros a vexes le agregan puntos u otros caracteres. Ahora la pregunta es como lo hago?? Garcias Saludos Franck |
Re: Separar texto y numero de un campo a otro campo Hola, aca dejo una funcion que puede servirte (esta con 100 caracteres pero ahi tu la cambias) ALTER FUNCTION fn_BuscaNumeros (@str varchar(100)) RETURNS VARCHAR (6) AS BEGIN --DECLARE @STR AS VARCHAR(50) --SET @STR='HYHYHHA564564568239' DECLARE @CUENTA AS TINYINT DECLARE @NUMEROS AS VARCHAR(100) SET @NUMEROS='' SET @CUENTA=1 WHILE (@CUENTA < 100) BEGIN IF SUBSTRING(@STR, @CUENTA,1) IN ('0','1','2','3','4','5','6','7','8','9') SET @NUMEROS = @NUMEROS + SUBSTRING(@STR, @CUENTA,1) SET @CUENTA=@CUENTA+1 END RETURN @NUMEROS END luego tienes que hacer una similar para la parte del texto y las llamas en tu select saludos |
Re: Separar texto y numero de un campo a otro campo Funciona Muchisima Gracias Me sacaste un gran dolor de cabeza Saludos Franck |
| La zona horaria es GMT -6. Ahora son las 05:08. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.