I want to store the string including Unicode character.
I know there are two choices. NVARCHAR and VARCHAR. NVARCHAR uses 2 bytes to store a character; however VARCHAR uses 1 byte for a character.
In terms of storing 2 2-byte unicode character each of them uses 4 bytes. But when it comes to storing 1 1-byte ansi character and 1 2-byte unicode character, NVARCHAR uses 4 bytes, and VARCHAR uses 3 bytes.
So I think using VARCHAR is more compact and always be the better method. I don't know if my understand above is right or not because there should be some advances that NVARCHAR is over VARCHAR.