操作中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CI_AI" 之间的排序规则冲突 的解决办法

如何让Microsoft Visual Studio2019自带数据库的排序规则变成Chinese_PRC_CI_AS 方法适用于没有建表,单纯只有数据库 1.鼠标右键点击数据库,【新建查询】 2.准备好代码 ALTER DATABASE [E:\MYC#\省市选择2\WINDOWSFORMSAPP1\WINDOWSFORMSAPP1\SS.MDF] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ALTER DATABASE [E:\MYC#\省市选择2\WINDOWSFORMSAPP1\WINDOWSFORMSAPP1\SS.MDF] COLLATE Chinese_PRC_CI_ 阅读详情

最主要就一句话,在条件中不同排序规则的列后面加上"  collate Chinese_PRC_CI_AS"即可解决。

 

 

 

有个需求:要求数据库系统自动同步两个不同数据库中的人员信息。

首先想到写一个存储过程然后由系统任务来自动处理。

尝试性的写了下面的查询语句:

select WINDOWSID,NAME,EMAIL,DEPT,CONT from DB1.dbo.USER

 where WINDOWSID in (select WINDOWSID from DB2.dbo.USER)

发现SQL server2005报如下错误:

Msg 468, Level 16, State 9, Line 1

无法解决 equal to 操作中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CI_AI" 之间的排序规则冲突。



 

在网上查了半天资料,如果你看这片文章之前也查了些资料,应该和我看到的差不多,结果就是弄清楚了什么是“Chinese_PRC_CI_AS”和“Chinese_PRC_CI_AI”你还会得到如下语句:

alter database DB1 collate Chinese_PRC_CI_AS;

alter database DB2 collate Chinese_PRC_CI_AS;

但是执行这两条语句后,再作查询,错误依旧。

然后根据之前网上的信息,修改查询语句为:

select WINDOWSID,NAME,EMAIL,DEPT,CONT from DB1.dbo.USER

 where WINDOWSID in (select WINDOWSID collate Chinese_PRC_CI_AS from DB2.dbo.USER)

发现查询可以得到结果。

下面对上面的问题做个总结:

第一步,基础知识。查看SQLserver2005的帮助,你会得到如下信息:

CollationDesignator

Specifies the base collation rules used by the Windows collation. The base collation rules cover the following:

•       The alphabet or language whose sorting rules are applied when dictionary sorting is specified

•       The code page used to store non-Unicode character data.

Some examples are:

•       Latin1_General or French: both use code page 1252.

•       Turkish: uses code page 1254.

For a list of collation designators, see Collation Settings in Setup.

CaseSensitivity

CI specifies case-insensitive, CS specifies case-sensitive.

AccentSensitivity

AI specifies accent-insensitive, AS specifies accent-sensitive.

KanatypeSensitive

Omitted specifies kanatype-insensitive, KS specifies kanatype-sensitive.

WidthSensitivity

Omitted specifies width-insensitive, WS specifies width-sensitive.

BIN

Specifies the backward-compatible binary sort order is to be used.

BIN2

Specifies the binary sort order that uses code-point comparison semantics introduced in SQL Server 2005.

我们可以详细认识到Chinese_PRC_CI_AS的含义。

第二步,修改数据库的collate。前文已提到的SQL语句可以用来修改数据库的collate  ,当然你也可以通过SQL2005界面更便捷的修改。

 

还有就是修改系统的全局collate

 

第三步:通过以上步骤可以说准备工作已经全部完成了。

既然数据库的collate都是Chinese_PRC_CI_AS为什么查询的时候还会报错?只有如下语句才能执行?

select WINDOWSID,NAME,EMAIL,DEPT,CONT from DB1.dbo.USER

 where WINDOWSID in (select WINDOWSID collate Chinese_PRC_CI_AS from DB2.dbo.USER)

只能有一种原因:嵌套查询语句的collate默认和设置的不一致,查看全局collate也是Chinese_PRC_CI_AS,那到底为什么还会报错呢?



 

因为在windows系统中大小写是不敏感的,难道是这个原因?

经过一番折腾对collate有了一定的了解,也算些收获吧!

写的不好,见谅!

 

转自:http://zjsoft.iteye.com/blog/516051

数据库乱码和关联字段字符集冲突问题: Cannot resolve the collation conflict between “xx“ and “yy“ in the equal to opera 新增sql server 数据库实例的默认排序规则不支持中文存储,导致乱码解决方案: 修改排序规则为Chinese_PRC_CI_AS 或者 Chinese_PRC_Stroke_CI_AS_WS或者Chinese_PRC_CI_AI_KS_WS。 阅读详情

相关推荐

Android图形系统(三)系统篇:渲染/合成的底层原理浅析

众所周知,渲染工作是由GPU负责,那么在聊GPU之前首先得知道什么是“渲染”?我们来举个例子感受一下在系统中申请一块10*101、把图层背景这玩意染成绿的2、从左上(0,0)到右下(10,10)画一条宽度为1颜色为红色的直线3、以坐标点(5,5)为中心,画一个半径为3的实心圆,颜色要蓝色好了,接下来操作系统会把这些“绘图指令”同步给GPU去执行渲染任务图片来源:自己画的GPU完成渲染工作后,我们将会得到一个大小为10*10二维数组,数组中的每个元素都保存着坐标点的颜色信息、深度信息。

1357

sql server字符集(Chinese_PRC_CI_AS等)

2.在中文字符集下使用nvarchar,最大长度可定义4000,这个4000是指字符个数(len()),即最大可以保存4000个英文字符,4000个中文字符;使用N''时,中文占2个字节,只可以存x/2个汉字,没有乱码,取出仍为汉字,说明在英文字符集下通过使用N''是可以保存汉字的;不论使用不使用N'',中文字符都占1个字节,即可以存x个中文,但只保存前半截中文编码,所以select结果为乱码;不使用N''时,中文占1个字节,可以存x个汉字,但都只存入汉字前半截字符编码,显示为乱码;...

lisheng19870305的专栏 8183

蓝牙HCI Dongle实战:从芯片选型到协议栈集成的完整指南

本文详细介绍了蓝牙HCI Dongle的实战应用,从芯片选型到协议栈集成的完整指南。通过对比CSR8510、nRF52840等主流芯片的性能和价格,提供选型建议和避坑技巧。同时,深入解析Zephyr协议栈移植和常见问题排查,帮助开发者高效完成蓝牙项目开发。

weixin_30786657的博客 322

SQL建表语句中 COLLATE Chinese_PRC_CI_AS是何意思?

SQL server中的COLLATE Chinese_PRC_CI_AS是什么意思?答:指定SQL server的排序规则 Chinese_PRC指的是中国大陆地区,如果是台湾地区则为Chinese_Taiwan CI指定不区分大小写,如果要在查询时区分输入的大小写则改为CS AS指定区分重音,同样如果不需要区分重音,则改为AI COLLATE可以针对整个数据库更改排序规则,也可以单独修改某一个表或者某一个字段的排序规则,指定排序规则很有用,比如用户管理表,需要验证输入的用户名和密码的正确性,一般是要区

wh445306 1万+

LabVIEW新手必看:5个工业自动化实战项目从零搭建(附完整代码)

本文为LabVIEW新手提供了5个从零开始的工业自动化实战项目指南,涵盖数据采集、状态机控制、PID闭环、振动监测及多站协同监控。通过详细的架构解析和关键代码片段,帮助读者快速掌握LabVIEW图形化编程的核心逻辑与工程化思维,并附完整代码实现。

agile9scrum的博客 1072

µC/OS-II---任务就绪表

意思是:将变量OSRdyGrp中最低位为1的位数赋给y,那么,y就是最高优先级任务所在就绪表的行号,那么最高优先级的任务就在OSRdyGrp[y]行中,再根据。

weixin_45880844的博客 1649

"Chinese_PRC_CI_AS" 和 "Chinese_PRC_CI_AI"

<br />"Chinese_PRC_CI_AS" 和 "Chinese_PRC_CI_AI"都是中文集,但规则不同,因此会出错。 解决方法: 1.更改第三方collation? 2.查询时指定与第三方一致的collation 3.更改数据库collation: SQL code--查sql的collation select serverproperty('collation') --假如是如下结果 /* Chinese_PRC_CI_AS */ --更改sql指定库的collation,使之与第三方col

dfhdhq的专栏 5395

YOLO26涨点改进| TGRS 2026 | 独家自研创新、检测头改进篇| AHATHead自适应混合注意力检测头,二次创新,强化特征表达与目标判别能力,适合遥感小目标检测、小目标检测有效涨点

🔥本文提出了一种改进YOLO26模型的AHATHead自适应混合注意力检测头,通过融合全局与局部注意力机制增强特征表达能力。该方法采用动态权重分配策略,在预测阶段自动调整关键区域与通道特征权重,有效提升小目标和密集场景的检测性能。实验表明,AHATHead在保持较高推理效率的同时,显著提高了目标定位精度与类别判别能力。文章详细介绍了模块结构、实现原理和代码集成步骤,并提供了两种改进配置方案(yolo26_AHATHead.yaml和yolo26_RFHA-YOLO-AHATHead.yaml)

Ai缝合怪、助力小伙伴高效发论文 159

sql:无法解决 equal to 操作中 "Chinese_PRC_CI_AS" 和 "Chinese_Taiwan_Stroke_CI_AS" 之间的排序规则冲突。...

--无法解决 equal to 操作中 "Chinese_PRC_CI_AS" 和 "Chinese_Taiwan_Stroke_CI_AS" 之间的排序规则冲突。 CREATE VIEW View_VipBranchStaffBranchList AS select VipBranchStaff.*,geovindu_branch.B_Name,VipExamCountry.ExamC...

weixin_34015860的博客 967

【沃顿商学院学习笔记】商业基础——Financing:05 名义利率和实际利率 APR& EAR

商业基础——名义利率和实际利率 本章主要是从名义利率和实际利率的相关概念和计算方法进行学习。 名义利率和实际利率 APR&amp;amp; EAR 根据下图可以直到: APR,QUOTED RATE在精算中又叫名义利率,比如一个房产贷款quoted rate or APR是12%,且按月复利,那么说明它的月实际利率是12%/12=1% EAR是effecive annual rate,在精算中叫实际利率,...

ECNU乐扣老师——区块链、可计算情感 1万+

行人检测模型在海思平台上的部署:从 PyTorch 到 NNIE 深度优化与实践

摘要 本文详细介绍行人检测模型从PyTorch到海思NNIE平台的部署流程。首先分析了行人检测面临的挑战(尺度变化、遮挡、姿态多样性等)及边缘部署的优势(实时性、隐私保护等)。重点阐述了模型转换过程:PyTorch→ONNX→Caffe→NNIE-WK,其中PyTorch转ONNX需注意评估模式设置、虚拟输入匹配、操作集版本选择等关键点。文章旨在帮助开发者在海思3516D芯片上实现高效的行人检测,克服部署过程中的常见问题,最终实现边缘设备的实时目标检测能力。

FJN110的博客 216

无法解决 equal to 操作中 "Chinese_PRC_CI_AS" 和 "Korean_Wansung_CI_AS" 之间的排序规则冲突。

无法解决 equal to 操作的排序规则冲突。” 一.错误分析:   这个错误是因为排序规则不一致造成的,我们做个测试,比如: create table #t1( name varchar(20) collate Albanian_CI_AI_WS, value int) create table #t2( name varchar(20) collate Chinese_

南漂的专栏 7129

学Simulink——基于高渗透率可再生能源微电网的逆变器系统场景实例:含高比例逆变型电源的微电网暂态稳定性分析

本文详细介绍了基于MATLAB/Simulink的高渗透率可再生能源微电网建模方法,重点分析含高比例逆变型电源的微电网暂态稳定性问题。通过构建包含光伏、风电、逆变器和电网等模块的系统模型,展示了从项目创建、模块搭建到控制策略实现的完整过程。文章特别提供了逆变器PQ控制算法和故障处理逻辑的代码示例,并介绍了仿真参数设置与结果分析方法。该模型能有效评估微电网在故障条件下的动态响应特性,为优化逆变器控制策略提供依据,对现代智能电网研究具有重要意义。

xiaoheshang_123的博客 140

无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间

2011年03月10日 CCE3.03的服务器采用英文的2003R2 数据库排序规则为拉丁文忽略大小写.我的存储过程中遇到了"无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 ...

congshen6759的博客 1276

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Chinese_Taiwan_Stroke_CI_AS" 之间的排序规则冲突。

最近做项目时,无意间碰到一个排序规则的问题 做了如下测试: ///创建表1 create table #t1( name varchar(20) collate Albanian_CI_AI_WS, value int); //创建表2 create table #t2( name varchar(20) collate Chinese_PRC_CI_AI_WS, value i

Eric_K1m的专栏 7346

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

无法解决 equal to 运算中 “Chinese_PRC_CI_AI_KS_WS“ 和 “Chinese_PRC_CI_AS“ 之间的排序规则冲突

在执行sql查询中遇到了如下错误: 无法解决 equal to 运算中 “Chinese_PRC_CI_AI_KS_WS” 和 “Chinese_PRC_CI_AS” 之间的排序规则冲突。 百度一通查询后,基本上得到的结论就是: 参与比较的左右两边的字段的排序规则不一致,所以导致了这个问题的出现,网上给出的答案基本一致,在查询后面添加 collate Chinese_PRC_CI_AI_KS_WS,即原有的查询条件为: WHERE mac = trade.dev_mac AND device_no =

weixin_42072369的博客 6703

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

无法解决 equal to 运算中 "Chinese_PRC_BIN" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突...

无法解决 equal to 运算中 "Chinese_PRC_BIN" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。问题如下图: 执行一下语句时候,出现上述错误 SELECT * FROM TEMP A,TEMP2 B WHERE A.ID=B.ID 解决办法: 在SQL语句的后边加上collate Chinese_PRC...

ajsyipsc40270的博客 1956

无法解决 equal to 运算中 "Chinese_PRC_CI_AS_WS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。...

本来好好的,电脑重装了一下居然碰到了这个问题。百度后知道了原因。记录一下是因为两个表字段的排序规则不同导致的,于是找了很久,最后才发现原来是创建的临时表造成的。解决方案如下:CREATE TABLE #Item( id INT PRIMARY KEY, item_id varchar(30) Collate Database_Default , item_name v...

weixin_33796177的博客 1739

无法解决 equal to 运算中 “Chinese_PRC_CI_AS“ 和 “Chinese_PRC_90_CI_AI“ 之间的排序规则冲突。的解决方法

无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_90_CI_AI" 之间的排序规则冲突。的解决方法

10年职场两茫茫,35岁凄凉奈若何 850

无法解决 equal to 运算中 “Chinese_PRC_BIN“ 和 “Chinese_PRC_CI_AS“ 之间的排序规则冲突

1 原因 数据表创建时,表所使用的排序规则不一致 在对比条件后增加 collate Chinese_PRC_CI_AS的转义即可 如:

ourLang 5183

KSO-SQL 无法解决 EQUAL TO 运算中 “CHINESE_PRC_CI_AS“ 和 “CHINESE_PRC_90_CI_AI“ 之间的排序规则冲突

SQL 无法解决 EQUAL TO 运算中 “CHINESE_PRC_CI_AS” 和 “CHINESE_PRC_90_CI_AI” 之间的排序规则冲突 导致问题原因为创建时,表所使用的排序规则不一致 解决办法: 在对比条件后增加 collate Chinese_PRC_90_CI_AI 的转义即可 如: where test1.Name=test2.Name collate Chinese_PRC_90_CI_AI ...

kso的博客 1522

sqlserver排序规则问题(Cannot resolve the collation conflict between “SQL_Latin1_General_CP1_CI_AS“ and “C)

sqlserver排序规则问题(Cannot resolve the collation conflict between “SQL_Latin1_General_CP1_CI_AS” and “Chinese_PRC_CI_AI” in the equal to operation) 在做C#项目时在本地开发环境没有问题,但是部署到测试环境时走到其中一个方法报了Cannot resolve the collation conflict between “SQL_Latin1_General_CP1_CI_

Silence-wen 3181

无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "SQL_Latin1_General_CP1_CI_AS" 之间的排序规则冲突...

什么是排序规则(collation) 关于SQL Server的排序规则,估计大家都不陌生,在创建数据库时我们经常要选择一种排序规则(conllation),一般我们会留意到每一种语言的排序规则都有许多种,比如标准大陆简体中文Chinese_PRC的排序规则就有数十种之多 这些排序规则有什么作用呢?让我们先来看看MS官方的解释: 排序规则指定了表示每个字符的位模式。它还指...

1323

两种不同编码规则("Chinese_PRC_BIN" 和 "Chinese_PRC_CI_AS")的表之间的数据查询,如

两种不同编码规则("Chinese_PRC_BIN" 和 "Chinese_PRC_CI_AS")的表之间的数据查询,如<br />目前SQL数据库里有A表(Chinese_PRC_BIN)和B表(Chinese_PRC_CI_AS),我需要查询A表中的的a字段数据,不包含在B表的b字段里的所有行。<br />       我用not in来做,SQL语句如下: select a  from A where a not in(select b from B)<br />结果报如下错误:“无法解决 equal

wyfh2010的专栏 7307
上一篇: Eclipse 查看Android SDK源码
下一篇: windows计划任务
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值