type tipos ejemplos ejemplo datos convert cast sql sql-server sql-server-2005 sqldatatypes

ejemplos - tipos de datos sql server



Cambie el tipo de datos varchar a nvarchar en la base de datos existente de SQL Server 2005. ¿Cualquier problema? (5)

Necesito cambiar los tipos de datos de columna en una tabla de base de datos de varchar a nvarchar para admitir caracteres chinos (actualmente, los campos varchar que tienen estos caracteres solo muestran signos de interrogación).

Sé cómo cambiar los valores, pero quiero ver si es seguro hacerlo. ¿Hay algo que mirar antes de hacer el cambio? ¡Gracias!


Asegúrese de que la longitud no exceda de 4000 ya que el máximo para VARCHAR es 8000, mientras que NVARCHAR es solo 4K.


La mesa se hará más grande. Cada carácter en la columna tomará el doble de espacio para almacenar. Es posible que no se dé cuenta a menos que la mesa sea realmente grande.

Los procedimientos / vistas / consultas almacenados que funcionan con los datos de la columna pueden necesitar ser modificados para lidiar con el nvarchar.


Puede hacerlo en campos de clave no primaria:

ALTER TABLE [TableName] ALTER COLUMN [ColumnName] nvarchar(N) null

En los campos de clave principal no funcionará, tendrá que volver a crear la tabla.


Tenga en cuenta que este cambio es una actualización de tamaño de datos; consulte las columnas de la tabla de SQL Server debajo del capó . El cambio agregará una nueva columna NVARCHAR, actualizará cada fila copiando el dta del VARCHAR antiguo a la nueva columna NVARCHAR, y luego marcará la columna VARCHAR antigua como caída. Si la tabla es grande, esto generará un registro grande, así que prepárate para ello. Después de la actualización, ejecute DBCC CLEANTABLE para recuperar el espacio utilizado por la antigua columna VARCHAR. Si puede permitírselo, ejecute mejor ALTER TABLE ... REBUILD , que no solo recuperará el espacio sino que también eliminará por completo la columna física VARCHAR eliminada. El artículo vinculado al principio tiene más detalles.

También le puede interesar habilitar la compresión Unicode para su tabla.


Verifique todas las dependencias para esta tabla, ya que los procesos, las funciones, las tablas temporales basadas en esta tabla y las variables utilizadas para las inserciones / actualizaciones, etc. también deben actualizarse a NVARCHAR. También compruebe si la tabla está en la replicación! ¡Eso podría causarle un nuevo conjunto de problemas!