Estás en: Inicio >> Foros >> Informática >> Programación
Programación /

[MS SQL 7] Convert y Replace

Participa en el tema [MS SQL 7] Convert y Replace en el foro Programación.
Gente, tengo un problemita con las funciones CONVERT y REPLACE. Vengo del mundo fox, y ...

Buscar en este tema:
 
  •  
    Usuario inexistente escribió hace 7 años
     
    ¿Mensaje inapropiado?
    #1 [MS SQL 7] Convert y Replace
    Gente, tengo un problemita con las funciones CONVERT y REPLACE.

    Vengo del mundo fox, y cuando convertia valores numericos a cadena, los espacios vacios se colocaban a la izquierda,, el MS SQL me los coloca a la derecha.
    Le mando REPLACE para cambiar los espacios vacios por 0 y ni minga,, asi que no se con que caracter me esta rellenando.

    Ejemplo.
    tengo una columna llamada 'numero' de valor INT (numero entero) = 246

    le hago una conversion a caracteres, CONVERT(CHAR(10), numero)

    esto deberia darme una cadena = ' 246'
    pero me da = '246 '

    que tengo que tocar o setear?? me falta algun SET??

    y si le mando REPLACE a la cadena anterior para que cambie los supuestos espacios que agrego el convert, no los encuentra.

    REPLACE(CONVERT(CHAR(10), numero ),' ', '0')
    +
     
    0
    Me gusta
     
    | Más
  • Usuario inexistente escribió hace 7 años ¿Mensaje inapropiado?

    #2

    usa la función RTRIM () - borras los espacios de la derecha - o LTRIM () - borra los espacios de la izquierda


    RTRIM (CONVERT(CHAR(10),numero))
    Me gusta este mensaje
  • #3

    El problema no es que me molesten los espacios vacios, sino que quiero pasar un valor entero (en el ejemplo es 246) a una cadena de caracteres de longitud 10, que quede algo como '0000000246' y no me sale.
    Me gusta este mensaje
  • Usuario inexistente escribió hace 7 años ¿Mensaje inapropiado?

    #4

    Ok, entonces la solucion que encontre es la siguiente :

    Supongamos que hay una tabla Usuario en la que tengo un campo númerico llamado Cantidad

    Cantidad
    -------------------
    1716
    10
    234
    1568
    2354
    1220

    y quiero que tenga el siguiente formato char de 10)

    Generando la siguiente consulta:


    SELECT
    (CAST ((REPLACE ((space(10 - len(Cantidad)) + (Cantidad)),' ','0'))AS CHAR(10))) as Cantidad
    FROM usuario


    Obtengo:

    Cantidad
    ----------
    0000001716
    0000000010
    0000000234
    0000001568
    0000002334
    0000001220


    Esto es lo único que se me ocurrió, si alguien tiene algo mas sencillo haganlo saber .Saludos.
    Me gusta este mensaje
  • #5

    fantastico,, en realidad queriamos usar tres columnas numericas para generar un ID, en lugar de unique_identifier que usa el sql.

    Si, ya se, es una cosa rara.

    Gracias Black-Sun !!!!
    Me gusta este mensaje
Estás en: Inicio >> Foros >> Informática >> Programación


Estadísticas del tema
  • 4 RESPUESTAS
  • 4382 VISTAS
  • 2 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB