一.问题描述:
select count(1) from sys_user_role where role_name = '单据凭证管理'
根据上述sql查询时结果一直为0
二.问题分析:
系统默认的排序规则是拉丁文SQL_Latin1_General_CP1_CI_AS并不是中文,所以才会出现上述问题。
三.解决方案:
1.在查询中文前加N
select count(1) from sys_user_role where role_name = N'单据凭证管理'
2.修改数据库排序编码
注意:修改编码可能会报错
ALTER DATABASE failed. The default collation of database 'test' cannot be set to Chinese_PRC_CI_AS.
解决:
ALTER DATABASE test SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE test COLLATE Chinese_PRC_CI_AS
ALTER DATABASE test SET MULTI_USER