--SQL查询问题:与字段类型Char相关
--问题描述:在客户的数据库里,表结构类似于tbl(使用char字段),在查询语句中,Where条件使用Or关键字,加N与不加结果不一致。
--处理方案:将CCode的数据类型改为varchar,加N查询就正常。
Create Table tbl(CCode char(10),CName Nvarchar(100))
Insert Into tbl(CCode,CName)
Values('6060','N1')
Insert Into tbl(CCode,CName)
Values('6061','N1')
Insert Into tbl(CCode,CName)
Values('6062','N1')
Insert Into tbl(CCode,CName)
Values('6060','N2')
Insert Into tbl(CCode,CName)
Values('6061','N2')
Insert Into tbl(CCode,CName)
Values('6062','N2')
select * from tbl where (CCode=N'6060' Or CCode=N'6061' Or CCode=N'6062')
--以上示例无法重现客户的问题,可能也跟客户的SQL服务版本号有关。
--客户的SQL版本号:SQL2005 sp2