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

Sumarle el valor 100000 a los valores int de una columna

Estas en el tema de Sumarle el valor 100000 a los valores int de una columna en el foro de SQL Server en Foros del Web. Amigos, Tengo una columna con valores enteros, la columna se llama PC_ID. Los valores van desde el 1 hasta el 1050 mas o menos Yo ...
  #1 (permalink)  
Antiguo 11/01/2012, 14:13
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 132
Antigüedad: 17 años, 7 meses
Puntos: 0
Busqueda Sumarle el valor 100000 a los valores int de una columna

Amigos,
Tengo una columna con valores enteros, la columna se llama PC_ID. Los valores van desde el 1 hasta el 1050 mas o menos
Yo necesito un script que sume el valor 10.000.000 a todos los valores de esa columna
Alguien sabe como se puede hacer o alguna pagina de referencia?
Estoy trabajando sobre SQL 2008

Les dejo una imagen explicativa


muchas gracias!!!

Última edición por german_martin; 11/01/2012 a las 14:49
  #2 (permalink)  
Antiguo 11/01/2012, 16:03
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Sumarle el valor 100000 a los valores int de una columna

Primero, realiza una prueba para ver si el resultado sera lo que esperas:

SELECT tuCampo = TuCampo + 10000000
FROM tutabla
WHERE tuCampo BETWEEN 1 AND 1000

Si es lo que esperas, entonces:

UPDATE tutabla SET tuCampo = TuCampo + 10000000
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 11/01/2012, 17:12
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Sumarle el valor 100000 a los valores int de una columna

Hola que tal, asi como te dice iislas es lo correcto, pero tienes que tener cuidado que el campo que va a recibir el valor sea un BIGINT, de lo contrario te va a marcar error .
  #4 (permalink)  
Antiguo 11/01/2012, 17:41
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 132
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Sumarle el valor 100000 a los valores int de una columna

Hola gente, muchas gracias
Como es algo productivo lo voy a hacer en la madrugada y les cuento
Gracias Drako por lo de bigint, no lo habia tenido en cuenta
  #5 (permalink)  
Antiguo 11/01/2012, 17:46
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Sumarle el valor 100000 a los valores int de una columna

Creo que con INT, no tendria problema:

bigint

De -2^63 (-9.223.372.036.854.775.808) a 2^63-1 (9.223.372.036.854.775.807)

8 bytes

int

De -2^31 (-2.147.483.648) a 2^31-1 (2.147.483.647)

4 bytes

smallint

De -2^15 (-32.768) a 2^15-1 (32.767)

2 bytes

tinyint

De 0 a 255

1 byte

Y como bien te dije, primero ejecuta el SELECT, si te es satisfactorio el resultado, pues ejecutas el UPDATE
__________________
MCTS Isaias Islas
  #6 (permalink)  
Antiguo 12/01/2012, 15:17
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 132
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Sumarle el valor 100000 a los valores int de una columna

Muchas gracias! Me sirvio!!
y los molesto con otra cosita mas


Se puede hacer que sume el 10.000.000 solamente a los valores que sean mayor a 999? Ejemplo... no quisiera superle diez millones a los que van del 1 al 998

Desde ya MILES DE GRACIAS
  #7 (permalink)  
Antiguo 12/01/2012, 16:34
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Sumarle el valor 100000 a los valores int de una columna

Hola que tal, bueno para eso utilizarias el WHERE:

Código SQL:
Ver original
  1. UPDATE tutabla
  2. SET tuCampo = TuCampo + 10000000
  3. WHERE tuCampo > 999

Etiquetas: enteros, integer, sql2008, sum
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 10:32.