我继承了一个C#应用程序,我已将其转换为vb。我得到一个错误,据我所知,这与转换无关。
我有一个SQL语句....
SELECT ResolverID AS ddlValue, ResolverTeam & ' | ' & ResolverPerson AS ddlText
FROM dbo.TblResolvers
ORDER BY ResolverTeam, ResolverPerson;
当这个运行时我得到错误:
数据类型nvarchar和varchar在布尔值中不兼容 AND运算符。
在表格中,ResolverTeam
和ResolverPerson
都指定为(nvarchar(255
),null
)
为什么我收到此错误?
答案 0 :(得分:21)
尝试更换'&'对于'+'...看起来你想要做的就是连接2列...你需要做的事情就是:nvarchar是常规varchar的两倍,这意味着是nvarchar中不在varchar表中的字符...
答案 1 :(得分:3)
您应该使用+
进行字符串连接:
SELECT
ResolverID AS ddlValue,
ResolverTeam + ' | ' + ResolverPerson AS ddlText
FROM dbo.TblResolvers
Order By ResolverTeam, ResolverPerson;
为什么我收到此错误?
由于&
operator,按位AND ,您收到了该错误。
答案 2 :(得分:3)
要在MSSQL中连接字符串,您应该使用+
SELECT ResolverID AS ddlValue,
ResolverTeam + ' | ' + ResolverPerson AS ddlText
FROM dbo.TblResolvers Order By ResolverTeam, ResolverPerson;
答案 3 :(得分:2)
这是连接尝试吗? ResolverTeam & ' | ' & ResolverPerson
&
是按位运算符AND
,将其替换为+
,看看会发生什么。