sql collate 子句排序规则

【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏1(附项目源码) 当今,塔防游戏已经成为游戏市场上备受欢迎的一类游戏类型。《保卫萝卜》作为其中的经典之作,深受玩家喜爱。本项目旨在基于《保卫萝卜》的玩法和特点,开发一个Unity2D塔防游戏,让玩家可以在游戏中体验到精彩的策略对抗与刺激的关卡挑战。本项目将通过Unity引擎进行开发,利用2D游戏开发相关技术,包括但不限于精灵动画、碰撞检测、UI界面设计等。我们将实现萝卜作为关键角色的防守任务,并设计各种怪物和防御塔,使得游戏具有多样的战术策略和游戏乐趣。 阅读详情

COLLATE 是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则转换。

语法

COLLATE { <collation_name> | database_default }
<collation_name> :: =
     { Windows_collation_name } | { SQL_collation_name }

参数

collation_name
    应用于表达式、列定义或数据库定义的排序规则的名称。collation_name 可以只是指定的 Windows_collation_name 或 SQL_collation_name 。collation_name 必须是文字值。    collation_name 不能用变量或表达式表示。
    Windows_collation_name 是用于 Windows 排序规则 名称的排序规则名称。
    SQL_collation_name 是用于 SQL 排序规则 名称的排序规则名称。

database_default
    使 COLLATE 子句继承当前数据库的排序规则。

 

下面说明下什么是排序规则,SQL Server 2005 提供了两组排序规则:Windows 排序规则和 SQL 排序规则。

Windows 排序规则

Windows 排序规则是为 SQL Server 定义的排序规则,用来支持 Windows 区域设置。Windows 区域设置的数量比 SQL Server Windows 排序规则多。Windows 区域设置名称是基于语言和地域的。例如,法语(加拿大)。不过,若干种语言可以共享通用的字母表和规则进行字符的排序和比较。另外,Windows 区域设置还指定 SQL Server Windows 排序规则不具有的属性,如货币、日期和时间格式。因为不同的国家和地区(比如英国和美国)使用不同的货币、日期和时间格式,因此它们需要不同的 Windows 排序规则。但由于它们使用相同的字母表和规则来对字符进行排序和比较,因而可以使用相同的 SQL Server 排序规则。

SQL 排序规则

SQL 排序规则是一种兼容性选项,用来匹配 SQL Server 早期版本所指定的代码页号和排序顺序的公用组合属性。许多排序规则都支持通过后缀指定区分大小写、重音、假名、全半角,但不全是这样。在 SQL Server 2005 中,应优先采用 Windows 排序规则。特别是在数据库中 Unicode 列与非 Unicode 列都存在时。Windows 排序规则实际上对 Unicode 数据和非 Unicode 数据都应用了基于 Unicode 的排序规则。这表示 SQL Server 在内部将非 Unicode 数据转化为 Unicode 来执行比较操作。这保证了 SQL Server 中所有数据类型的一致性,也使开发人员能够使用 SQL Server 中的排序规则来对字符串进行排序。另一方面,对 Unicode 数据使用相应的 Windows 排序规则后,SQL 排序规则可以对非 Unicode 数据应用非 Unicode 排序规则,对 Unicode 数据应用 Unicode 排序规则。这一差异可能导致对相同字符的比较得到不一致的结果。因此,如果您的数据库中既有 Unicode 列,又有非 Unicode 列,应将它们都定义为使用 Windows 排序规则,这样可以对 Unicode 和非 Unicode 数据使用相同的排序规则。

注意:COLLATE 子句只能应用于 char、varchar、text、nchar、nvarchar 和 ntext 数据类型。

可以执行系统函数 fn_helpcollations 以检索 Windows 排序规则和 SQL 排序规则的所有有效排序规则名称的列表:

SELECT *
FROM fn_helpcollations()

下表说明 SQL Server 2005 的 Windows 排序规则排序顺序选项。

排序顺序(后缀) 排序顺序说明

二进制 (_BIN)1

根据为每个字符定义的位模式对 SQL Server 表中的数据进行排序和比较。二进制排序顺序既区分大小写,也区分重音。二进制排序顺序的速度也最快。有关详细信息,请参阅使用二进制排序规则。

如果未选择此选项,则 SQL Server 将遵循字典中定义的相关语言或字母表的排序和比较规则。

二进制-码位 (_BIN2)1

根据 Unicode 数据的 Unicode 码位对 SQL Server 表中的数据进行排序和比较。对于非 Unicode 数据,二进制-码位将使用与二进制排序相同的比较方式。

使用二进制-码位排序顺序的优点是:对已排序的 SQL Server 数据进行比较的应用程序不必重新对数据进行排序。因此,二进制-码位排序顺序使应用程序开发变得更加简单,从而可以提高性能。有关详细信息,请参阅使用二进制排序规则。

区分大小写 (_CS)

区分大写字母和小写字母。如果选择此项,排序时小写字母将在其对应的大写字母之前。

如果未选择此选项,则 SQL Server 认为字母的大小写形式对于排序目的而言是相同的。

区分重音 (_AS)

区分重音字符和非重音字符。例如,“a”和“?”将被视为不同的字符。

如果未选择此项,在排序时,SQL Server 将把字母的重音形式和非重音形式视为相同。

区分假名 (_KS)

区分日语中的两种假名字符类型:平假名和片假名。

如果未选择此选项,则 SQL Server 认为片假名字符和平假名字符对于排序目的而言是相等的。

区分全半角 (_WS)

区分字符的单字节形式和双字节形式。

如果未选择此项,在排序时,SQL Server 将把同一字符的单字节形式和双字节形式视为相同。

排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。
如:
     Chinese_PRC_CS_AI_WS
前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。
排序规则的后半部份即后缀 含义:

_BIN 二进制排序
_CI(CS) 是否区分大小写,CI不区分,CS区分
_AI(AS) 是否区分重音,AI不区分,AS区分
_KI(KS) 是否区分假名类型,KI不区分,KS区分
_WI(WS) 是否区分宽度 WI不区分,WS区分

区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项, 比较还将重音不同的字母视为不等。
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项

 

基于STM32L4XX、HAL库的AD7768BSTZ 模数转换器ADC驱动程序设计 / 默认SPI配置。// 读取通道数据命令。// 通过SYNC_IN引脚触发转换(如果使用)// 处理数据...// 或者通过SPI命令。// 初始化AD7768。// SPI1引脚配置。 阅读详情

相关推荐

Verilog 并行 FIR 滤波器设计

FIR(Finite Impulse Response)滤波器是一种有限长单位冲激响应滤波器,又称为非递归型滤波器。FIR 滤波器具有严格的线性相频特性,同时其单位响应是有限长的,因而是稳定的系统,在数字通信、图像处理等领域都有着广泛的应用。

m0_61687959的博客 1604

MSSQL Server 排序规则详解

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

mx5721的专栏 1281

绝缘体上硅(SOI) vs 传统硅片:5个关键性能对比及适用场景分析

本文深入对比了绝缘体上硅(SOI)与传统硅片在功耗、速度、隔离性等5个关键性能维度的差异,并分析了各自适用场景。SOI技术凭借其独特的埋氧层结构,在低功耗、高频应用和极端环境下展现出显著优势,特别适合移动设备、汽车电子和航天应用。

weixin_30335575的博客 555

Sql 中Collate用法

今天查询sqlite的时候需要不区分大小写,查了下文档,需要使用collate nocase.顺便学习下collate的用法。 collate在sql中是用来定义排序规则的。排序规则其实就是当比较两个字符串时,根据某种规则来确定哪个比较大,是否相等。各个数据库支持不同的排序规则。 sqlite有三种build in的排序规则: BINARY 二进制比较,直接使用mem...

Sinolife0605的博客 3068

自制JS某课脚本

根据实际需求自制网页讯网刷题脚本,绕过人脸,弹窗,答题,实现自动化运行

2301_81243054的博客 3460

告别蓝牙音质妥协:用ESP32和PCM5102搭建WiFi无损音频播放器(附完整代码)

本文详细介绍了如何利用ESP32微控制器和PCM5102 DAC芯片构建一套完整的WiFi无损音频流媒体系统,彻底摆脱蓝牙协议的音质束缚。从硬件原理到软件实现,包括核心器件选型、电路设计、I2S音频驱动实现以及系统优化方案,帮助音频发烧友实现高保真无线音频传输。

weixin_30733003的博客 542

SQL之COLLATE 子句 排序规则

SQL之COLLATE 子句 排序规则

jhfyuf的博客 4476

Prometheus常用配置介绍

除了 scrape_configs 外,上部还有 global 和 rule_files 部分, 其中 global 中 是 全 局 参 数 , scrape_interval 指 定 全 局 默 认 的 时 间 间 隔 , evaluation_interval 指定告警规则校验的时间间隔,rule_files 指定了告警规 则文件的位置名称。• annotations(注释):它们被用于存储更长的其他信息,例如警报描述 或者链接,注释值也可以被模板化。• alert:告警的名称。

weixin_42886699的博客 2262

SQL Server排序规则不一致 - Collate Database_Default

http://www.cnblogs.com/chencidi/archive/2014/07/02/3820386.html 使用多库查询时会出现排序规则冲突的问题 解决办法 在字段后面添加Collate Database_Default

weixin_33875839的博客 1304

CPU、Core、RISC、ARM等的前世今生

CPU、Core、RISC-V 、ARM、ASIC、FPGA、SOC概念及区分

nxin168的博客 1017

【软件系统架构】系列四:嵌入式技术

嵌入式系统是以应用为中心、以计算机技术为基础,并将可配置与可裁剪的软硬件集成于一体的专用计算机系统。它需要满足功能、可靠性、成本、体积、功耗等方面的严格要求。 嵌入式系统一般由以下组成部分构成:

moton2017的博客 1001

sql collate 子句 排序规则

SQL SERVER的排序规则平时使用不是很多,也许不少初学者还比较陌生,但有一个错误大家应是经常碰到: SQL SERVER数据库,在跨库多表连接查询时,若两数据库默认字符集不同,系统就会返回这样的错误: “无法解决equal to操作的排序规则冲突。” COLLATE 是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则...

weixin_30642267的博客 254

5G无人机安全研究综述

国内多所高校提出混合信任模型,南京航空航天大学于2020年提出了起源信息感知的无人机网络信任模型[26],模型基于报文的完整性对报文创建和操作节点的行为评判并生成观测证据,收集证据进行信任评估,识别网络中的恶意节点并进行路由隔离,实现准确的对等信任评估。同时,5G技术的高速率、高可靠性、低时延等特点,能够为无人机提供实时高清图像回传,保证通信网络的稳定,拓展无人机飞控距离限制,丰富了5G无人机的应用场景。5G和无人机技术的融合,丰富了传统无人机的应用服务场景,然而5G无人机仍存在安全隐患。

weixin_70923796的博客 765

SQL Server中的collate关键字

<br />我们在create table时经常会碰到这样的语句,例如:CityName nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面:<br />首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。<br />语法是collate collation_name<br />collation_name ::={windows_collation_name}|{sql_co

ZXY900213的专栏 1020

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

COLLATE (Transact-SQL)排序规则

COLLATE (Transact-SQL) SQL Server 2014 一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则转换。 适用范围:SQL Server(SQL Server 2008 至当前版本),Wind...

chuoshannang3492的博客 486

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SQL:Collate

<br />Collate 是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则转换。<br />语法:<br />COLLATE { <collation_name> | database_default }<br /><collation_name> :: = <br />    { Windows_collation_name } | { SQL_collation_name }<br /> <br />参数:<br />collation_name <br />应

Sean的专栏 927

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

[746]sqlite排序规则

sqlite 排序规则 BINARY - 使用 memcmp() 对字符串数据进行比较,无论文本编码。 NOCASE - 与 BINARY 相同,除了在比较执行之前会将 ASCII 码的 26 个大写字母被折换为与其等值的小写字母。注意,只有 ASCII 码的字符进行大小写折换。由于所需表的大小,SQLite 不会尝试对完整 UTF 的大小写进行折换。 RTRIM ...

周小董 2285

sql中collate

 collate chinese_prc_ci_as null 是什么意思 我们在create table时经常会碰到这样的语句,例如:CityName nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面: 首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规

水上漂的专栏 3673

SQL Server中排序规则不同

如果排序规则不同,又要进行比较,怎么办? 一、笨办法:        改数据库的排序规则,直接点击修改表,选到要改的字段,在下面就有排序规则,可以自行修改,但带来的问题是不知道该字段是否还有何别的字段比较。所以不建议采用该方法,本人一开始用这方法,现在不用了。   二、用 collate  子句:        例如:   select   field1,field2   ...   ...

yueqing的专栏 331

排序规则引起的冲突问题

为什么80%的码农都做不了架构师?>>> ...

weixin_34080571的博客 409

SQL SERVER中collate的含义

我们在create table时经常会碰到这样的语句,例如:password nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面:首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。语法是collate collation_namecollation_na

tanhua103292的专栏 655

collate chinese_prc_ci_as null 是什么意思

我们在create table时经常会碰到这样的语句,例如:CorpName nvarchar(10) collate chinese_prc_ci_as null,那它到底是什么意思呢? 不妨看看下面: 语法 COLLATE ::=      { Windows_collation_name } | { SQL_collation_name } 参数

qinchaoqi的专栏 1287

SQL TIPS

SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。 1,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。 语法是collate collation_name  

Andrewniu的博客 482

数据库及ADO.NET--------collate collation_name 排序

我们在create table时经常会碰到这样的语句,例如:CityName nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面: 首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。 语法是collate collation_name c

狗剩的专栏 1267

SQL Server大小写区分方法总结

SQL Server大小写区分方法总结 <br /> <br />1.--区分大小写<br /> select * from a  where a='AbCdE' collate Chinese_PRC_CS_AI--区分大小写<br /> select * from a  where a='abCdE' collate Chinese_PRC_CI_AI--不区分大小写<br />2.如果想让服务器上所有的存储表都区分大小写就需要在安装服务器时设置服务器的排序

wangyongyuan的专栏 1252

奇妙的排序规则COLLATE

<br />    通过 COLLATE 子句,你可以在比较时覆盖替换掉任何默认collation, COLLATE 可以用<br /> 在SQL 语句的很多部分里,这里是一些例子:<br /><br /> 1、在 ORDER BY 里:<br />select k<br /> FROM t1<br /> ORDER BY k COLLATE latin1_german2_ci;<br /><br /><br />2、在 AS 里:<br />select k COLLATE

我想我是海 冬天的大海 心情随风轻摆 933
上一篇: ThreadLocal使用及源码解读
下一篇: log4j.properties
光与热
博客等级 码龄11年 55粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值