I'm coming from a SQL Server background. What would the equivalent data types be for the following in MySQL:
NVARCHAR
- provides support for international, multi-byte characters for all languages
NVARCHAR(max)
- allows for very long text documents
In MySQL there are three main data types: string, numeric, and date and time.
MySQL supports SQL data types in several categories: numeric types, date and time types, string (character and byte) types, spatial types, and the JSON data type.
MySQL supports all standard SQL numeric data types which include INTEGER, SMALLINT, DECIMAL, and NUMERIC. It also supports the approximate numeric data types (FLOAT, REAL, and DOUBLE PRECISION). The keyword INT is a synonym for INTEGER, and the keywords DEC and FIXED are synonyms for DECIMAL.
The largest character data type in MySql is LONGTEXT (see Storage Requirements for String Types), that is capable to hold 2^32-1 bytes.
Going by http://msdn.microsoft.com/en-us/library/ms186939.aspx, I would say that
VARCHAR(n) CHARSET ucs2
is the closest equivalent. But I don't see many people using this, more often people use:
VARCHAR(n) CHARSET utf8
As far as I am aware, both charactersets utf8 and ucs2 allow for the same characters, only the encoding is different. So either one should work, and I would probably go for the latter since it is used more often.
There are some limitations in MySQL's unicode support that may or may not apply to your use case. Please refer to http://dev.mysql.com/doc/refman/5.0/en/charset-unicode.html for more info on MySQL's unicode support.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With