SQL无法解决排序规则 Chinese_PRC_CI_AS 和 Latin1_General_CI_AS 的冲突
最近在执行一些跨库关联查询语句的时候提示了 “Cannot resolve the collatior conflict between "Chinese_PRC_Ci As" and "soL Latini_General_CPi_Ci As" in the equal tol peratn” 的错误,查询整理一下相关资料如下:
排序规则
排序规则指定表示数据集中每个字符的位模式。 排序规则还确定数据的排序和比较规则,单个库可能存在多个不同的排序规则,通过语句
SELECT CONVERT(nvarchar(128), SERVERPROPERTY('collation'));
可以查询当前实例的排序方式 .
排序规则冲突原因
当连接有两个不同排序规则的表或者列的时候,会导致无法关联,无法比较,从而报错。比如我们有两个表,一个表使用Latin1_General_100_CI_AI_SC_UTF8排序规则,另一个表使用Chinese_PRC_CI_AS排序规则。当我们尝试比较或连接这两个表时,就会遇到排序规则冲突问题。
解决冲突的办法
1.使用COLLATE语句
使用 COLLATE 关键字可以显示的指定排序方式,在连接或者比较的时候使用可以覆盖原有的排序规则,例如:
Select * from A Inner Join B On A.Id = B.Id
//修改后
Select * from A Inner Join B On A.Id COLLATE Chinese_PRC_CI_AS = B.Id
2.修改数据库或者表的默认排序规则
如果频繁出现规则冲突,可以将某个表的规则调整,
ALTER DATABASE [db01] COLLATE Chinese_PRC_CI_AS
另外,当处理有数据的表的时候该语句不会生效,可以通过:
1.创建一个正确排序规则的table
2.数据从旧表复制过来
3.删除原表
4.新表重命名
SQL无法解决排序规则 Chinese_PRC_CI_AS 和 Latin1_General_CI_AS 的冲突的更多相关文章
- 全库修改SQL Server现有排序规则
近日,在项目Debug过程中发现了SQL Server排序规则冲突的问题. 由于原数据库是从英文环境的SQL中生成的,其排序规则为“SQL_Latin1_General_CP1_CI_AS”,备份到本 ...
- SQL SERVER 的排序规则
有时候查询数据库的时候会发现(比如做重名检查的时候):数据库的查询时对大小写不敏感的,也就是 A 和 a 是一样的. 也就是说 select * from tabletest where name = ...
- SQL Server更改排序规则的实现过程
摘自: http://www.2cto.com/database/201112/115138.html 以下的文章主要向大家描述的是SQL Server更改排序规则的实现过程,以及在实现其实际操作过程 ...
- linux / centos 安装SQL Server 2017 设置默认语言与排序规则Chinese_PRC_CI_AS
安装 安装很简单参照官方教程 https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sq ...
- SQL SERVER修改排序规则——脚本篇
在上篇MS SQL 排序规则总结中,大致就数据库服务器排序规则(或者叫数据库实例排序规则).数据库排序规则.列的排序规则粗浅的叙说了一遍,重点讲述了修改数据库服务器排序规则(数据库实例排序规则),其中 ...
- SQL SERVER 强制排序规则查询
有时会需要在2个DB之间的数据做比较, 但因为一些原因, 数据库的默认排序规则是不一样的, 例如 SELECT A.Col1, B.Col1, A.* FROM DB1.dbo.A LEFT JOIN ...
- 修改SQL Server 的排序规则(转)
转自http://jimshu.blog.51cto.com/3171847/1095780/ 一.修改SQL Server服务器(实例)的排序规则 以下实验使用了SQL Server 2008 R2 ...
- [转]SQL SERVER 的排序规则
如何更改SQL SERVER 2000的排序规则 -- 增加复合主键语句 Alter Table tableName Add primary key (field1,field2) Alter dat ...
- sql server不同排序规则的数据库间字段的比较
不同的排序规则的字段是不能直接比较的.会提示:无法解决 equal to 操作的排序规则冲突.可以把字段强制转换一个排序规则,这样就能比较了.示例: ------------------------- ...
- 修改SQL Service数据库排序规则
修改数据库 alter database KidsPang COLLATE Chinese_PRC_CI_AS 修改表中字段ALTER TABLE [Member] ALTER COL ...
随机推荐
- 松灵机器人scout mini小车 自主导航(3)——建图导航仿真
松灵机器人Scout mini小车建图导航仿真 在之前的文章中,我们已经介绍了如何在gazebo和rviz对scout mini小车进行仿真,并且测试了添加自定义的传感器,在本文章中将进一步介绍如何利 ...
- redis基本数据结构-列表
redis基本数据结构-列表list 特性 每个列表键最多存储 2^32 - 1个字符串元素 元素在列表中有序 元素在列表中不唯一 向列表左侧添加元素 lpush key value lpush nu ...
- Element-plus的徽章组件el-badge
Element-plus的徽章组件el-badge Element Plus 是一个基于 Vue.js 的 UI 组件库,它提供了一系列的常用 UI 组件供开发者使用.其中,徽章组件(el-badge ...
- DSCL:已开源,北京大学提出解耦对比损失 | AAAI 2024
监督对比损失(SCL)在视觉表征学习中很流行.但在长尾识别场景中,由于每类样本数量不平衡,对两类正样本进行同等对待会导致类内距离的优化出现偏差.此外,SCL忽略了负样本之间的相似关系的语义线索.为了提 ...
- 系动词&使役动词
系动词 系动词的作用就是赋值 I am a rabbit 把 a rabbit赋值给i我 我是一只兔子 The rabbit is smart 这兔子是聪明的 smart赋值给兔子 系动词连系的方式, ...
- 【H5】06 网页架构
摘自: https://developer.mozilla.org/zh-CN/docs/Learn/HTML/Introduction_to_HTML/%E6%96%87%E4%BB%B6%E5%9 ...
- NVIDA GPU-SXM和NVIDA GPU-PCIe 两种类型显卡到底哪个性能更高?
相关: 大模型时代该用什么样的显卡 -- 实验室新进两块A800显卡 浅析:NVIDA GPU卡SXM和PCIe之间的差异性 原来SXM类型的显卡比PCIex类型显卡性能要高.PCIE版本是通用接口, ...
- 后端开发学习敏捷需求-->产品价值的定位
产品价值的定位 为什么要写这一系列文章 2023年网上报名学习了,敏捷软件需求的培训课程 ,一直都没有进行回顾,回顾学习,总结 业务分析的能力偏弱,学习和了解关于业务需求相关的方法和理论 每一年都有一 ...
- rest_framework与django配合使用
rest_framework与django配合使用 rest_framework与django配合使用 一.构建表单,在这里我们先构建五个表单,分别是 author book publish us ...
- SMU 2024 spring 天梯赛3
SMU 2024 spring 天梯赛3 7-1 重要的话说三遍 - SMU 2024 spring 天梯赛3 (pintia.cn) I'm gonna WIN! I'm gonna WIN! I' ...