Unicode Character Data Types in SQL Server Transact-SQL
What are Unicode character string data types supported in SQL Server Transact-SQL?
Unicode character string data types are used to hold Unicode character strings.
There are 3 Unicode character string data types supported in SQL Server Transact-SQL:
1. NCHAR (or NATIONAL CHAR, or NATIONAL CHARACTER) - Used to hold Unicode character strings of a fixed length specified in the format of NCHAR(n), where n defines the string length as number of characters. The maximum length of VARCHAR is 4,000 Unicode characters.
The storage size of VARCHAR(n) is fixed to 2*n bytes, regardless of the length of the string value. Each Unicode character is stored in UTF-16 2-byte encoding.
2. NVARCHAR (or NATIONAL CHAR VARYING or NATIONAL CHARACTER VARYING) - Use to hold Unicode character strings of variable lengths, specified in the format of NVARCHAR(n), where n defines the string length as number of characters. The maximum length of NVARCHAR is 4,000 Unicode characters.
The storage size of NVARCHAR(n) is flexible up to 2*n+2 bytes, depending on the length of the string value. The extra 2 bytes are used to store the length of the string value.
3. NTEXT (or NVARCHAR(MAX), or NATIONAL TEXT) - Use to hold Unicode character strings of very large lengths. NTEXT uses the CLOB (Character Large OBject) technology to store string values. NTEXT can store string values of variable lengths up to 2^30-1 (1,073,741,823) characters.
Here are some good examples of Unicode character string values:
PRINT N'Hello! '; -- NCHAR(10) PRINT N'Hello!'; -- NVARCHAR(10) PRINT CAST(N'Hello!' AS BINARY(10)); ---------------------- Hello! Hello! 0x480065006C006C006F00
2017-04-08, 355👍, 0💬
Where to find Oracle database server tutorials? Here is a collection of tutorials, tips and FAQs for...
How to run Queries with "sqlcmd" tool in SQL Server? "sqlcmd" is a client tool that you can use to i...
How to download and install Microsoft SQL Server Management Studio Express in SQL Server? Microsoft ...
How To List All User Names in a Database in SQL Server? If you want to see a list of all user names ...
How to set database to be READ_ONLY in SQL Server? Databases in SQL Server have two update options: ...