sqlserver无法根据中文条件查询

一.问题描述:

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.修改数据库排序编码

sqlserver无法根据中文条件查询_第1张图片

注意:修改编码可能会报错

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

你可能感兴趣的:(sqlserver,数据库,sql)