Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Consulta Sql.

Estas en el tema de Consulta Sql. en el foro de SQL Server en Foros del Web. Buenas noches, Les escribo lo que tendría que hacer por si alguno de ustedes me pueden dar una idea de como hacerlo. Tengo la tabla ...
  #1 (permalink)  
Antiguo 18/11/2013, 13:48
 
Fecha de Ingreso: agosto-2008
Mensajes: 1
Antigüedad: 16 años, 3 meses
Puntos: 0
Consulta Sql.

Buenas noches,

Les escribo lo que tendría que hacer por si alguno de ustedes me pueden dar una idea de como hacerlo.

Tengo la tabla de Bancos de clientes, con sus respectivas cuentas bancarias, y justo tengo el campo que guarda la información del número de cuenta bancaria (NumCuenta) donde no todas las cuentas tienen los 10 dígitos.

Yo ya tengo localizadas todas las cuentas que tienen menos de 10 dígitos con la siguiente consulta:
Código SQL:
Ver original
  1. SELECT *  FROM CliBanc  WHERE len(NumCuenta)<10

El problema me surge cuando tengo que hacer una Update de dicho campo, insertando al principio tantos 0 como números me falten para llegar hasta los 10 dígitos de la cuenta bancaria. Os pongo un ejemplo.

Tengo el cliente con código 430000000 y su nº de cuenta bancaria que tiene guardada en la tabla CliBanc es 1234567. Tendría que rellenar con tres ceros al inicio de la cuenta.

Alguna solución?

Gracias.

Última edición por gnzsoloyo; 18/11/2013 a las 14:19
  #2 (permalink)  
Antiguo 18/11/2013, 14:00
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Consulta Sql.

Código SQL:
Ver original
  1. DECLARE @cadena VARCHAR(20)
  2. SET @cadena='1234567'
  3. SELECT
  4. CASE WHEN len(@cadena)<=10 THEN
  5. replicate('0',10-len(@cadena)) + @cadena ELSE @cadena END AS cadena

esto te puede servir :)

saludos!!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 18/11/2013, 14:09
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 12 años, 4 meses
Puntos: 40
Respuesta: Consulta Sql.

Otra opcion, si utilizan SQL 2012:
Código SQL:
Ver original
  1. SELECT Format(1234567,'0000000000');
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog

Etiquetas: select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:15.