Answers

Question and Answer:

  Home  MS SQL Server

⟩ What Happens When Unicode Strings Concatenate with Non-Unicode Strings?

If a Unicode string NVARCHAR is concatenated with a non-Unicode string VARCHAR, SQL Server will implicitly convert the non-Unicode string to Unicode string for concatenation.

DECLARE @regcode VARCHAR(40);

DECLARE @unicode NVARCHAR(40);

SET @regcode = 'Some Unicode characters: '

SET @unicode = NCHAR(9733)+NCHAR(9734)+NCHAR(9792)

+NCHAR(9794);

SELECT @regcode + @unicode;

SELECT DATALENGTH(@regcode);

SELECT DATALENGTH(@unicode);

SELECT DATALENGTH(@regcode + @unicode);

Some Unicode characters: ????

25

8

58

Note that the non-Unicode string @regcode has been converted to a Unicode string. The number of bytes of @regcode changed from 25 to 50. With 8 bytes from @unicode, the number of bytes of the concatenated string becomes 58.

 140 views

More Questions for you: