Tsql 在列中显示文本或unicode

Tsql 在列中显示文本或unicode,tsql,unicode,Tsql,Unicode,我的表中有两列,一列包含拉丁字符(varchar),另一列包含unicodes(n'varchar) 我想要的是,当我的第一列为空时,显示第二列: isnull(column_1, column_2) 这不管用。所以我试着像这样把select转换成n'varchar convert(n'varchar(50),isnull(column_1, column_2)) 但它也不起作用。unicode值以问号“?”显示 那么,您知道如何显示文本或unicode(当文本为空时,使用unicode)了

我的表中有两列,一列包含拉丁字符(varchar),另一列包含unicodes(n'varchar)

我想要的是,当我的第一列为空时,显示第二列:

isnull(column_1, column_2)
这不管用。所以我试着像这样把select转换成n'varchar

convert(n'varchar(50),isnull(column_1, column_2))
但它也不起作用。unicode值以问号“?”显示

那么,您知道如何显示文本或unicode(当文本为空时,使用unicode)了吗


对不起,我的英语不好。

您必须转换其中的列:

select isnull(cast(column_1 as nvarchar(50)), column_2) from table
您的查询将Unicode文本转换为非Unicode(此时无效数据被转换为
,实际上已丢失),然后将其转换回Unicode(但为时已晚,因为数据已经丢失)