COLLATE oracle,Sql 中Collate用法
今天查詢sqlite的時(shí)候需要不區(qū)分大小寫,查了下文檔,需要使用collate nocase.順便學(xué)習(xí)下collate的用法。
collate在sql中是用來定義排序規(guī)則的。排序規(guī)則其實(shí)就是當(dāng)比較兩個(gè)字符串時(shí),根據(jù)某種規(guī)則來確定哪個(gè)比較大,是否相等。各個(gè)數(shù)據(jù)庫支持不同的排序規(guī)則。
sqlite有三種build in的排序規(guī)則:
BINARY
二進(jìn)制比較,直接使用memcmp()比較
NOCASE
將26個(gè)大寫字母轉(zhuǎn)換為小寫字母后進(jìn)行與BINARY一樣的比較
RTRIM
和BINARY一樣,忽略結(jié)尾的空格
Sql server則比較復(fù)雜: 根據(jù)MSDN官方解釋 排序規(guī)則指定了表示每個(gè)字符的位模式。它還指定了用于排序和比較字符的規(guī)則。
排序規(guī)則具有下面的特征: 區(qū)分語言,區(qū)分大小寫,區(qū)分重音,區(qū)分假名
看一下SqlServer中的截圖:
collate的名字包括兩部分,前部分是表示字符集,后部分定義如下:
_BIN
指定使用向后兼容的二進(jìn)制排序順序。
_BIN2
指定使用 SQL Server 2005 中引入的碼位比較語義的二進(jìn)制排序順序。
_Stroke
按筆劃排序
_CI(CS)
是否區(qū)分大小寫,CI不區(qū)分,CS區(qū)分
_AI(AS)
是否區(qū)分重音,AI不區(qū)分,AS區(qū)分
_KI(KS)
是否區(qū)分假名類型,KI不區(qū)分,KS區(qū)分
_WI(WS)
是否區(qū)分全半角,WI不區(qū)分,WS區(qū)分
還可以根據(jù)拼音,筆畫來排序。
如何設(shè)置排序規(guī)則
可以在數(shù)據(jù)庫(create database/alter database時(shí)指定),字段級(jí)別(create table/alter table時(shí)指定)使用Collate命令設(shè)置collate,字段級(jí)別優(yōu)先級(jí)更高。
SQL 中ROLLUP 用法
SQL 中ROLLUP 用法 ROLLUP 運(yùn)算符生成的結(jié)果集類似于 CUBE 運(yùn)算符生成的結(jié)果集. 下面是 CUBE 和 ROLLUP 之間的具體區(qū)別: CUBE 生成的結(jié)果集顯示了所選列中值的所有 ...
sql 中 exists用法
SQL中EXISTS的用法 ? 比如在Northwind數(shù)據(jù)庫中有一個(gè)查詢?yōu)镾ELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(S ...
數(shù)據(jù)庫sql中distinct用法注意事項(xiàng)
在寫sql中去重復(fù)等操作,需要用到distinct. 在使用distinct的時(shí)候要注意,尤其是在有行列轉(zhuǎn)換的時(shí)候.要把sql運(yùn)行出來看看是不是與你想要的結(jié)果一樣. 通過自己試驗(yàn),distinct有從 ...
Sql中CHARINDEX用法
CHARINDEX作用 寫SQL語句我們經(jīng)常需要判斷一個(gè)字符串中是否包含另一個(gè)字符串,但是SQL SERVER中并沒有像C#提供了Contains函數(shù),不過SQL SERVER中提供了一個(gè)叫CHAEI ...
詳細(xì)的SQL中datediff用法
DATEDIFF 函數(shù) [日期和時(shí)間] 功能返回兩個(gè)日期之間的間隔. 語法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 --若沒有填寫資格開始結(jié)束時(shí)間,則填入 select co ...
SQL 中 HAVING 用法
現(xiàn)在 Student表有 如下數(shù)據(jù) 現(xiàn)需求如下: 查找每個(gè)老師的學(xué)生的平均年齡且平均年齒大于12 不使用 HAVING SELECT * FROM (SELECT TeacherID, AVG(Age ...
SQL中的between and
"between xx and ?xx "在SQL中的用法 這個(gè)大家都很熟悉,但是當(dāng)問到是否包含兩端的值時(shí),就有點(diǎn)兒不確定了.在W3School網(wǎng)站上,有這樣的一段話: 參考:ht ...
隨機(jī)推薦
從頭開始 啟動(dòng)開源電商項(xiàng)目jShop
1. 引言 干了三年C#, 有了轉(zhuǎn)Java 的念想,所以嘗試學(xué)習(xí)一下java web,java語法本身和C#沒有太多的差別,所以打算看看開源的java項(xiàng)目,開源的Java項(xiàng)目還是非常非常多的,曾經(jīng)看了 ...
[Cordova] 無法顯示Alert視窗
[Cordova] 無法顯示Alert視窗 問題情景 今天開了一個(gè)Cordova專案做范例,將預(yù)設(shè)的index.html頁面修改為下列內(nèi)容.按下執(zhí)行卻發(fā)現(xiàn),這樣一個(gè)簡單的范例無法正常執(zhí)行.點(diǎn)擊頁面上的 ...
Stat
Description 請(qǐng)你編程實(shí)現(xiàn)一個(gè)簡單(渣渣)的文本編輯器,具體要求是:給定一個(gè)單詞,請(qǐng)你輸出它在給定的文章中出現(xiàn)的次數(shù)和第一次出現(xiàn)的位置.注意:匹配單詞時(shí),不區(qū)分大小寫,但要求完全匹配,即給定 ...
elasticsearch-5.0.0初見
基礎(chǔ)概念 Elasticsearch有幾個(gè)核心概念.從一開始理解這些概念會(huì)對(duì)整個(gè)學(xué)習(xí)過程有莫大的幫助. 接近實(shí)時(shí)(NRT) Elasticsearch是一個(gè)接近實(shí)時(shí)的搜索平臺(tái).這意味著,從索引一個(gè)文檔 ...
Python元祖
本篇主要介紹另一種有序列表叫元祖:tuple.更多內(nèi)容請(qǐng)參考:python學(xué)習(xí)指南 元祖是什么 tuple和list非常類似,但是tuple一旦初始化就不能修改,比如同樣是列出同學(xué)的名字 >&g ...
Mat, IplImage, CvMat, Cvarr關(guān)系及元素獲取
總結(jié)
以上是生活随笔為你收集整理的COLLATE oracle,Sql 中Collate用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么现在微信收钱要绑定银行卡?
- 下一篇: c语言限制字符数,C语言中“不受限制”的