SQL Server数据类型nvarchar和varchar是不兼容的错误

Myc*_*ych 12 sql t-sql sql-server

我继承了一个C#应用程序,我已经转换为vb.我得到一个错误,据我所知,这与转换无关.

我有一个SQL语句....

SELECT   ResolverID AS ddlValue, ResolverTeam & ' | ' & ResolverPerson AS ddlText 
FROM     dbo.TblResolvers 
ORDER BY ResolverTeam, ResolverPerson;
Run Code Online (Sandbox Code Playgroud)

当这运行时我得到错误:

数据类型nvarchar和varchar在布尔AND运算符中不兼容.

在该表中都ResolverTeamResolverPerson被指定为(nvarchar(255), null)

为什么我收到此错误?

Leo*_*rdo 22

尝试将"&"替换为"+"......通过它的外观,你要做的就是连接2列...你需要做的事情就是:nvarchar的大小是常规varchar,这意味着nvarchar中的字符不在varchar表中...


Mah*_*mal 5

您应该使用+for 字符串连接:

SELECT 
  ResolverID AS ddlValue, 
  ResolverTeam + ' | ' + ResolverPerson AS ddlText 
FROM dbo.TblResolvers 
Order By ResolverTeam, ResolverPerson;
Run Code Online (Sandbox Code Playgroud)

为什么我会收到此错误?

您收到该错误是因为&运算符,即按位 AND