SQL无法解决排序规则 Chinese_PRC_CI_AS 和 Latin1_General_CI_AS 的冲突

这篇具有很好参考价值的文章主要介绍了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.新表重命名文章来源地址https://www.toymoban.com/news/detail-749617.html

到了这里,关于SQL无法解决排序规则 Chinese_PRC_CI_AS 和 Latin1_General_CI_AS 的冲突的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL SERVER无法连接到服务器解决过程记录

    很久没用sql server了,这几天打算更新SQL SERVER数据库:SQL看这一篇就看够了(附详细代码及截图)  这篇文章,发现连接不上服务器。 找一下解决办法。  一、打开服务界面 在键盘上按“WIN+R”快捷键,打开运行界面,输入“services.msc”指令,按“确定”; 二、找到SQL这一堆

    2024年01月23日
    浏览(51)
  • MySql 排序规则

    我们在使用 Navicat for MySQL 或 MySQL Workbench 创建数据库的时候,除了数据库名称和字符集外,我们还可以设置 Collation【排序规则】 (当然我们也可以使用默认的排序规则),那么这里的排序规则到底是干什么的? 排序规则概念:是指对指定字符集下不同字符的比较规则。排序

    2024年02月07日
    浏览(37)
  • 【mongodb】--自定义排序规则

    最近项目接到一个功能点,需要对状态值status字段按照规则排序。这个status在表存储的是String纯字母,另外排序要求又不能按照字典排序方法。那这种问题如何解决? MongoDB 暂时只支持按照某些字段的升序或者降序排列 。但是,在某些特别场景下, 比如对中文有要求按照指定

    2024年02月09日
    浏览(37)
  • SQL Server 配置管理器中Browser灰色无法启动解决办法

    配置sqlserver远程连接过程中,想要启动sqlserver配置管理器中SQLserver Browser服务发现启动什么的都为灰色,无法启动。 1、直接点属性-服务-启动模式-改为自动,此时就可以启动了  2、第一种办法解决不了的时候,这时候就需要,运行CMD,输入“net user Administrator /Active:yes”回车

    2024年02月16日
    浏览(39)
  • SqlServer2019—解决SQL Server 无法连接127.0.0.1的问题

    1、打开SQL Server 2019配置管理器 2、SQL Servere 网络配置(启用 Named Pipes 和 TCP/IP)  3、修改TCP/IP协议(右键选择属性—IP地址),具体如下图所示:  4、重启SQL Server服务  

    2024年02月11日
    浏览(50)
  • 微软SQL 2019,解决“无法连接到WMI提供程序,您没有权限或者该服务器无法访问”的方法

            最近电脑突然蓝屏了一次,重启自查后,习惯性的对“计算机”右键,单机“管理”,发现无法打开SQL配置管理器,首先在英文论坛查询了一番,并没有特别好的解决办法,只有一种摸棱两可的解决办法,接下来会放到下面。接着,我在中文网站上查看各种资料后

    2024年02月05日
    浏览(43)
  • SQL server 2019 配置管理器,提示“MMC无法创建管理单元”的解决方法

    Win10安装了SQLserver 2019版本后,打开SQL server 2019 配置管理器,提示“MMC无法创建管理单元”。 根据他的提示,管理单元没有正确安装,莫名其妙。 起始,完全不需要理会,可以有一个解决方法。 右键点击windows图标,弹出菜单选择“运行”,输入mmc。 打开如下界面: 然后,

    2024年02月11日
    浏览(58)
  • 解决Sql server安装报错问题(“Polybase 要求安装 Oracle JRE 7 更新 51 (64 位)或更高版本”规则失败 比计算机上未安装 Oracle Java SE Runti)

    安装完毕后配置环境变量 Windows + R打开运行,输入命令: sysdm.cpl ,打开系统属性窗口。 选择“高级选项卡” “环境变量”按钮 在用户变量下\\\"新建\\\"==输入“变量名”为“JAVA_HOME”、变量值为你安装JDK的目录。如图: 七,配置环境变量 八,安装sql server(未报错了)

    2024年02月04日
    浏览(46)
  • 数据表中字段排序规则不一致(utf8mb4_general_ci、utf8mb4_0900_ai_ci)导致的错误,附解决办法

    环境: 数据库版本MySQL 8.0.32 报错: 在查询数据的时候返回以下错误 \\\"(1267, \\\"Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation \\\'=\\\'\\\")\\\" 报错分析及初期解决过程: 该错误是因为在执行查询或比较操作时,涉及到了不同字符集的表或字段之间的比较,

    2024年02月13日
    浏览(45)
  • List按指定规则排序的四种方法

    使用Collections.sort(list)可对一个List对象进行升序排序,但如果要按某种指定规则进行排序,可使用如下四种方法: 1. 使用list.sort(comparator)方法 List的sort()方法中可以传入一个自定义Comparator比较器。实现Comparator接口, 重写compare方法 来定义排序规则。 如果compare()方法返回负整

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包