tipos de dados equivalentes ao mysql

Eu estou vindo de um plano de fundo do SQL Server. Quais seriam os tipos de dados equivalentes para o seguinte no MySQL:

NVARCHAR – fornece suporte para caracteres internacionais de vários bytes para todos os idiomas

NVARCHAR(max) – permite documentos de texto muito longos

Indo por http://msdn.microsoft.com/en-us/library/ms186939.aspx , eu diria que

 VARCHAR(n) CHARSET ucs2 

é o equivalente mais próximo. Mas eu não vejo muitas pessoas usando isso, mais frequentemente as pessoas usam:

 VARCHAR(n) CHARSET utf8 

Tanto quanto sei, os dois conjuntos de caracteres utf8 e ucs2 permitem os mesmos caracteres, apenas a codificação é diferente. Então, qualquer um deveria funcionar, e eu provavelmente iria para o último, já que ele é usado com mais frequência.

Existem algumas limitações no suporte unicode do MySQL que podem ou não se aplicar ao seu caso de uso. Por favor, consulte http://dev.mysql.com/doc/refman/5.0/en/charset-unicode.html para mais informações sobre o suporte unicode do MySQL.

o equivalente é VARCHAR ou TEXT

MySql suporta nchar e nvarchar, mas de uma maneira diferente. Isso é implementado usando o conjunto de caracteres e o agrupamento (que é um conjunto de regras usadas para comparação de seqüências de caracteres usando o conjunto de caracteres – por exemplo, se a comparação deve ser sensível a maiúsculas ou minúsculas).

MySql define o conjunto de caracteres no nível 4:

Servidor
Base de dados
Mesa
Coluna

conjunto de caracteres é herdado do nível superior imediato, se você não especificar um. O que você precisa fazer é garantir que a coluna que deseja fazer do tipo nvarchar tenha “conjunto de caracteres” configurado para qualquer conjunto de caracteres unicode (utf8 é a melhor escolha, acredito) explicitamente ou por inheritance.

Para o nível de coluna, você pode definir “conjunto de caracteres” da seguinte maneira:

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

No exemplo acima, _id poderá receber 10 caracteres unicode e _name poderá receber 100 caracteres unicode (cada caractere unicode será avaliado como dois caracteres ascii)

Por favor, vá até a referência do MySql para maiores explicações.

No MySQL 5, NVARCHAR (abreviação de Varchar Nacional) é suportado e usa utf8 como o conjunto de caracteres predefinidos.

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