Modificar tipo de dato de columna en SQL Server

 

Cambiar el tipo de dato de un campo con SQL Server




En este artículo aprenderemos a modificar el tipo de dato de una columna en sql server. 


Para modificar el tipo de dato de una columna podemos realizarlo de dos maneras:

  • Mediante el uso de Transact-SQL
  • Mediante el diseñador de SQL Server Management Studio

Ahora antes de realizar la modificación de una determinada columna debemos de tener en cuenta lo siguiente:

  • Al modificar el tipo de dato de una columna los registros almacenados pueden verse afectados o eliminados respecto al tipo de dato convertido
  • Modificar el tipo de dato de una columna afecta todas las instrucciones creadas en nuestra base de datos ya sean estás procedimientos almacenados, vistas, funciones, disparadores. Por lo que tendremos que modificar cada una de manera manual
  • Se recomienda realizar la modificación del tipo de dato cuando la columna aún no contiene información


Modificar el tipo de dato de una columna mediante Transact-SQL

Mediante Transact SQL podemos modificar el tipo de dato, cambiar el tamaño según el tipo de dato y agregar la restricción NOT NULL si no queremos que la columna acepté valores nulos.

Sintaxis para modificar tipo de dato
ALTER TABLE Nombre_Tabla ALTER COLUMN Nombre_Columna [TIPO_DATO]

Vista la sintaxis ahora vamos a crear una tabla con sus respectivas columnas y tipos de datos.

 CREATE TABLE Articulos(
 ID INT IDENTITY NOT NULL,
 Nombre VARCHAR(100) NULL,
 Presentacion VARCHAR(80) NULL,
 Precio INT NOT NULL,
 Cantidad_Existencias DECIMAL(18,2) NUll,
 Cantidad_Disponibles DECIMAL(18,2) NULL,
 PRIMARY KEY(ID)
 );
 GO

A la tabla "Articulos" vamos a modificar el tipo de dato a la columna "Precio". Si observamos el tipo de dato definido en la creación de la tabla es INT, y lo vamos a cambiar por el tipo de dato "MONEY".

 ALTER TABLE Articulos ALTER COLUMN Precio money

Veamos la información de la columna antes de hacer el cambio en el tipo de datos.


Ahora ejecutemos el script para cambiar el tipo de dato a la columna.

Verifiquemos nuevamente la estructura de la tabla y veamos si se modificó el tipo de dato a la columna "Precio".

Ahora veamos un ejemplo modificando el tipo de dato a una columna que contenga datos. Para eso vamos hacer uso de una tabla llamada "AutoRepuestos" y modificaremos la columna "Precio", veamos la tabla con la información.

Podemos observar que la columna "Precio" contiene información almacenada. El tipo de dato que almacena esa información es decimal (18,2).


Ahora modifiquemos el tipo de datos a Numeric con un tamaño de 11,2.

ALTER TABLE AutoRepuestos  ALTER COLUMN Precio numeric(11,2)

Ahora realicemos la ejecución en SQL Server Management Studio:


Ahora verifiquemos si al cambiar el tipo de dato se modificaron los datos o permanecieron intactos al cambio del tipo de dato.


Si observamos los registros de la columna "Precio" estan sin ninguna alteración. Procedimos a cambiar el tipo de dato de DECIMAL a NUMERIC pero al ser ambos tipos de datos Numéricos los registros no se vieron afectados por la conversión.


Management Studio para modificar el tipo de dato de una columna 

Por último, podemos modificar el tipo de dato a una columna haciendo uso del diseñador de tabla para eso vamos a seguir los siguientes pasos.

  • Primeramente, nos vamos a colocar sobre el explorador de objetos
  • Nos colocamos sobre nuestra base de datos y desplegamos las opciones
  • Damos clic derecho sobre nuestra tabla y seleccionamos la opción Design

Nos va a cargar la pantalla del diseñador de tabla, donde vamos a observar los nombres de las columnas y sus tipos de datos.


Para modificar el tipo de dato nos colocamos sobre la opción Data Type y seleccionamos el nuevo tipo de dato a establecer en la columna.


Por último, cerramos el diseñador nos va pedir guardar los cambios aplicados en la tabla y damos clic en sí guardar cambios.

Espero les sea de mucha ayuda este artículo. Modificar el tipo de dato a una columna implica siempre determinar el  nuevo tipo de dato que le vamos asignar a la columna, por otra parte, debemos tener en cuenta que modificar la estructura de una tabla modificara también los procesos o bloques de sentencias donde interactúa la columna afectada.




Publicar un comentario

0 Comentarios