Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/01/2008, 08:19
Avatar de Sir Matrix
Sir Matrix
 
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 24 años, 5 meses
Puntos: 3
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:
ALTER FUNCTION fn_BuscaFono  (@str varchar(6))
RETURNS VARCHAR (6)
AS
BEGIN
--DECLARE @STR AS VARCHAR(6)
--DECLARE @
INDEX AS TINYINT
--SET @STR='HA8239'
IF ISNUMERIC(SUBSTRING(@STR1,1))=1
   SET 
@INDEX 1
ELSE
   IF 
ISNUMERIC(SUBSTRING(@STR2,1))=1
      SET 
@INDEX 2
   
ELSE
      IF 
ISNUMERIC(SUBSTRING(@STR3,1))=1
         SET 
@INDEX 3
      
ELSE
         IF 
ISNUMERIC(SUBSTRING(@STR4,1))=1
            SET 
@INDEX 4
         
ELSE
            IF 
ISNUMERIC(SUBSTRING(@STR5,1))=1
               SET 
@INDEX 5
            
ELSE
               IF 
ISNUMERIC(SUBSTRING(@STR6,1))=1
                  SET 
@INDEX 6
               
ELSE       
                  RETURN 
NULL

RETURN SUBSTRING(@STR, @INDEX100)
END 
Y bueno, ahí tendrás que agregar más ifs para poder testear cadenas más largas, o tal vez podrías poner un for en lugar de repetir tantas veces el if.

También tendrás que hacer otra función similar para obtener la parte del texto.

Saludos!
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen