tipos tipo tabla que ejemplos datos dato mysql sql-server types

tabla - tipos de datos equivalentes de mysql



tipos de datos en mysql ejemplos (3)

En MySQL 5, NVARCHAR (abreviatura de National Varchar) es compatible y utiliza utf8 como el conjunto de caracteres predefinido.

http://dev.mysql.com/doc/refman/5.0/en/charset-national.html

Vengo de un fondo de SQL Server. ¿Cuáles serían los tipos de datos equivalentes para los siguientes en MySQL:

NVARCHAR : proporciona compatibilidad con caracteres internacionales de varios bytes para todos los idiomas

NVARCHAR(max) : permite documentos de texto muy largos


Pasando por http://msdn.microsoft.com/en-us/library/ms186939.aspx , diría que

VARCHAR(n) CHARSET ucs2

es el equivalente más cercano Pero no veo a mucha gente usando esto, más a menudo la gente usa:

VARCHAR(n) CHARSET utf8

Que yo sepa, tanto los conjuntos de caracteres utf8 como ucs2 permiten los mismos caracteres, solo la codificación es diferente. Por lo tanto, cualquiera de los dos debería funcionar, y probablemente prefiero este último puesto que se usa con más frecuencia.

Hay algunas limitaciones en el soporte Unicode de MySQL que pueden o no aplicarse a su caso de uso. Consulte http://dev.mysql.com/doc/refman/5.0/en/charset-unicode.html para obtener más información sobre el soporte Unicode de MySQL.


el equivalente es VARCHAR o TEXT

MySql soporta nchar y nvarchar pero de una manera diferente. Esto se implementa utilizando el conjunto de caracteres y la intercalación (que es un conjunto de reglas utilizadas para la comparación de cadenas que utilizan el conjunto de caracteres, por ejemplo, si la comparación debe distinguir entre mayúsculas y minúsculas)

MySql define el conjunto de caracteres en 4 niveles:

Servidor
Base de datos
Mesa
Columna

el conjunto de caracteres se hereda del nivel superior inmediato si no especifica uno. Lo que debe hacer es asegurarse de que la columna que desea hacer del tipo nvarchar tenga "conjunto de caracteres" establecido en cualquier conjunto de caracteres Unicode (utf8 es la mejor opción, creo) explícitamente o por herencia.

Para el nivel de columna puede establecer "conjunto de caracteres" de la siguiente manera:

create table nvarchar_test ( _id varchar(10) character set utf8, _name varchar(200) character set ascii )

En el ejemplo anterior, _id podrá tomar 10 caracteres Unicode y _name podrá tomar 100 caracteres Unicode (cada carácter Unicode se evaluará en dos caracteres ASCII)

Por favor, consulte la referencia de MySql para una explicación más detallada.