mysql等效数据类型

时间:2010-02-06 21:57:19

标签: mysql sql-server types

我来自SQL Server背景。 MySQL中的以下等效数据类型是什么:

NVARCHAR - 支持所有语言的国际多字节字符

NVARCHAR(max) - 允许很长的文本文档

3 个答案:

答案 0 :(得分:13)

相当于VARCHARTEXT

MySql支持nchar和nvarchar,但方式不同。这是使用字符集和整理(这是一组用于比较使用字符集的字符串的规则 - 例如比较是否区分大小写)来实现的。

MySql将字符集定义为4级:

服务器
数据库

专栏

如果您未指定字符集,则

字符集将从最高级别继承。您需要做的是确保您想要生成类型为nvarchar的列将“字符集”设置为任何unicode字符集(utf8是我认为的最佳选择)显式或继承。

对于列级别,您可以按如下方式设置“字符集”:

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

在上面的示例中,_id将能够获取10个unicode字符,_name将能够获取100个unicode字符(每个unicode字符将评估为两个ascii字符)

请仔细阅读MySql参考资料以获取进一步说明。

答案 1 :(得分:13)

继续http://msdn.microsoft.com/en-us/library/ms186939.aspx,我会说

VARCHAR(n) CHARSET ucs2

是最接近的等价物。但是我没有看到很多人使用它,更常见的是人们使用:

VARCHAR(n) CHARSET utf8

据我所知,字符集utf8和ucs2允许相同的字符,只有编码不同。所以任何一个都应该工作,我可能会选择后者,因为它经常被使用。

MySQL的unicode支持存在一些限制,可能适用于您的用例,也可能不适用。有关MySQL的unicode支持的更多信息,请参阅http://dev.mysql.com/doc/refman/5.0/en/charset-unicode.html

答案 2 :(得分:6)

在MySQL 5中,支持NVARCHAR(National Varchar的简写),并使用utf8作为预定义的字符集。

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