COLLATEoracle,Sql中Collate⽤法
今天查询sqlite的时候需要不区分⼤⼩写,查了下⽂档,需要使⽤collate nocase.顺便学习下collate的⽤法。
collate在sql中是⽤来定义排序规则的。排序规则其实就是当⽐较两个字符串时,根据某种规则来确定哪个⽐较⼤,是否相等。各个数据库⽀持不同的排序规则。
sqlite有三种build in的排序规则:
BINARY
⼆进制⽐较,直接使⽤memcmp()⽐较
NOCASE
将26个⼤写字母转换为⼩写字母后进⾏与BINARY⼀样的⽐较
RTRIM
和BINARY⼀样,忽略结尾的空格
Sql server则⽐较复杂: 根据MSDN官⽅解释 排序规则指定了表⽰每个字符的位模式。它还指定了⽤于排序和⽐较字符的规则。
排序规则具有下⾯的特征: 区分语⾔,区分⼤⼩写,区分重⾳,区分假名
看⼀下SqlServer中的截图:
collate的名字包括两部分,前部分是表⽰字符集,后部分定义如下:
_BIN
指定使⽤向后兼容的⼆进制排序顺序。
_BIN2
指定使⽤ SQL Server 2005 中引⼊的码位⽐较语义的⼆进制排序顺序。
_Stroke
按笔划排序
_CI(CS)
是否区分⼤⼩写,CI不区分,CS区分
_AI(AS)
是否区分重⾳,AI不区分,AS区分
_KI(KS)
是否区分假名类型,KI不区分,KS区分
_WI(WS)
是否区分全半⾓,WI不区分,WS区分
还可以根据拼⾳,笔画来排序。
如何设置排序规则
可以在数据库(create database/alter database时指定),字段级别(create table/alter table时指定)使⽤Collate命令设置collate,字段级别优先级更⾼。
SQL 中ROLLUP ⽤法
SQL 中ROLLUP ⽤法 ROLLUP 运算符⽣成的结果集类似于 CUBE 运算符⽣成的结果集. 下⾯是 CUBE 和 ROLLUP 之间的具体区别: CUBE ⽣成的结果集显⽰了所选列中值的所有 ...
sql 中 exists⽤法
SQL中EXISTS的⽤法 ⽐如在Northwind数据库中有⼀个查询为SELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(S ...
数据库sql中distinct⽤法注意事项
在写sql中去重复等操作,需要⽤到distinct. 在使⽤distinct的时候要注意,尤其是在有⾏列转换的时候.要把sql运⾏出来看看是不是与你想要的结果⼀样. 通过⾃⼰试验,distinct有从 ...
Sql中CHARINDEX⽤法
CHARINDEX作⽤ 写SQL语句我们经常需要判断⼀个字符串中是否包含另⼀个字符串,但是SQL SERVER中并没有像C#提供了Contains 函数,不过SQL SERVER中提供了⼀个叫CHAEI ...
详细的SQL中datediff⽤法
DATEDIFF 函数 [⽇期和时间] 功能返回两个⽇期之间的间隔. 语法DATEDIFF ( date-part, date-expression-1, date-expression-2 ) da ...
SQL中ISNULL⽤法⽰例
ISNULLSQL查询⽰例SELECT ISNULL 使⽤指定的替换值替换 NULL. 语法 :ISNULL ( check_expression , replacement_val ...
sql中table⽤法
for c in (select column_value from table(f_split(V_FileID, ','))) loop --若没有填写资格开始结束时间,则填⼊ select co ...
SQL 中 HAVING ⽤法
exists的用法现在 Student表有 如下数据 现需求如下: 查每个⽼师的学⽣的平均年龄且平均年齿⼤于12 不使⽤ HAVING SELECT * FROM (SELECT TeacherID, AVG(Age ...
SQL中的between and
"between xx and xx "在SQL中的⽤法 这个⼤家都很熟悉,但是当问到是否包含两端的值时,就有点⼉不确定了.在W3School⽹站上,有这样的⼀段话: 参考:ht ...
随机推荐
从头开始 启动开源电商项⽬jShop
1. 引⾔ ⼲了三年C#, 有了转Java 的念想,所以尝试学习⼀下java web,java语法本⾝和C#没有太多的差别,所以打算看看开源的java项⽬,开源的Java项⽬还是⾮常⾮常多的,曾经看了 ...
[Cordova] ⽆法显⽰Alert视窗
[Cordova] ⽆法显⽰Alert视窗 问题情景 今天开了⼀个Cordova专案做范例,将预设的index.html页⾯修改为下列内容.按下执⾏却发现,这样⼀个简单的范例⽆法正常执⾏.点击页⾯上的 ...
Stat
Description 请你编程实现⼀个简单(渣渣)的⽂本编辑器,具体要求是:给定⼀个单词,请你输出它在给定的⽂章中出现的次数和第⼀次出现的位置.注意:匹配单词时,不区分⼤⼩写,但要求完全匹配,即给定 ...
elasticsearch-5.0.0初见
基础概念 Elasticsearch有⼏个核⼼概念.从⼀开始理解这些概念会对整个学习过程有莫⼤的帮助. 接近实时(NRT) Elasticsearch是⼀个接近实时的搜索平台.这意味着,从索引⼀个⽂档 ...
Python元祖
本篇主要介绍另⼀种有序列表叫元祖:tuple.更多内容请参考:python学习指南 元祖是什么 tuple和list⾮常类似,但是tuple⼀旦初始化就不能修改,⽐如同样是列出同学的名字 >&g ...
Mat, IplImage, CvMat, Cvarr关系及元素获取
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论