Detect unicode downgrade fail (nvarchar to varchar)

;WITH unicodeDataSource
AS
(
  SELECT N'Hello' AS Text , N'English' AS Language UNION ALL
  SELECT N'Здравствуйте' AS Text, N'Russian' AS Language UNION ALL
  SELECT N'こんにちは' AS Text, N'Japanese' AS Language UNION ALL
  SELECT N'Hallå' AS Text, N'Swedish' AS Language 
)
SELECT *, 
  iif(s.Text = cast(cast(s.Text AS varchar(100)) AS nvarchar(100)) 
    ,1,0) AS CastWasSuccessful
FROM unicodeDataSource s

Result


Text Language CastWasSuccessful
Hello English
1
Здравствуйте Russian
0
こんにちは Japanese
0
Hallå Swedish
1

Comments

Popular posts from this blog

How to decrypt stored password from SSMS registered servers

Cause for Parameter is incorrect 0x80070057 error in ssis

How to fail sql server agent job if powershell script fails