如何區(qū)分大小寫、全角半角(SQL2000測試通過):
創(chuàng)新互聯(lián)公司服務(wù)項目包括百色網(wǎng)站建設(shè)、百色網(wǎng)站制作、百色網(wǎng)頁制作以及百色網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,百色網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到百色省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
/*
用定義排序規(guī)則(Chinese_PRC_CS_AS_WS、Chinese_PRC_BIN)來區(qū)分,
介紹兩種排序規(guī)則:
第一個Chinese_PRC所屬區(qū)域(中文(香港特別行政區(qū)),中文(中華人民共和國),中文(新加坡))
CS(CaseSensitivity縮寫):CS 指定區(qū)分大小寫,CI 指定不區(qū)分大小寫。
AS(AccentSensitivity縮寫):AS 指定區(qū)分重音,AI 指定不區(qū)分重音。
WS(WidthSensitivity縮寫):WS 指定區(qū)分大小寫,Omitted 指定不區(qū)分大小寫。(區(qū)分全角半角)
BIN:指定使用二進制排序次序。
KanatypeSensitive:KS 指定區(qū)分假名類型,Omitted 指定不區(qū)分大小寫。
_BIN 二進制排序
_CI_AI 不區(qū)分大小寫、不區(qū)分重音、不區(qū)分假名類型、不區(qū)分寬度
_CI_AI_WS 不區(qū)分大小寫、不區(qū)分重音、不區(qū)分假名類型、區(qū)分寬度
_CI_AI_KS 不區(qū)分大小寫、不區(qū)分重音、區(qū)分假名類型、不區(qū)分寬度
_CI_AI_KS_WS 不區(qū)分大小寫、不區(qū)分重音、區(qū)分假名類型、區(qū)分寬度
_CI_AS 不區(qū)分大小寫、區(qū)分重音、不區(qū)分假名類型、不區(qū)分寬度
_CI_AS_WS 不區(qū)分大小寫、區(qū)分重音、 不區(qū)分假名類型、區(qū)分寬度
_CI_AS_KS 不區(qū)分大小寫、區(qū)分重音、區(qū)分假名類型、不區(qū)分寬度
_CI_AS_KS_WS 不區(qū)分大小寫、區(qū)分重音、區(qū)分假名類型、區(qū)分寬度
_CS_AI 區(qū)分大小寫、不區(qū)分重音、 不區(qū)分假名類型、不區(qū)分寬度
_CS_AI_WS 區(qū)分大小寫、不區(qū)分重音、不區(qū)分假名類型、區(qū)分寬度
_CS_AI_KS 區(qū)分大小寫、不區(qū)分重音、區(qū)分假名類型、不區(qū)分寬度
_CS_AI_KS_WS 區(qū)分大小寫、不區(qū)分重音、區(qū)分假名類型、區(qū)分寬度
_CS_AS 區(qū)分大小寫、區(qū)分重音、不區(qū)分假名類型、不區(qū)分寬度
_CS_AS_WS 區(qū)分大小寫、區(qū)分重音、不區(qū)分假名類型、區(qū)分寬度
_CS_AS_KS 區(qū)分大小寫、區(qū)分重音、區(qū)分假名類型、不區(qū)分寬度
_CS_AS_KS_WS 區(qū)分大小寫、區(qū)分重音、區(qū)分假名類型、區(qū)分寬度
*/
在我的Blog里有舉用法例子
默認排序是:Chinese_PRC_CI_AI_WS
延伸閱讀:
排序規(guī)則名稱由兩部份構(gòu)成,前半部份是指本排序規(guī)則所支持的字符集。如:
Chinese_PRC_CS_AI_WS
前半部份:指UNICODE字符集,Chinese_PRC_指針對大陸簡體字UNICODE的排序規(guī)則。
排序規(guī)則的后半部份即后綴 含義:
_BIN 二進制排序
_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ū)分
1、查詢SQL中的所有表: Select TABLE_NAME FROM 數(shù)據(jù)庫名稱.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE='BASE TABLE' 執(zhí)行之后,就可以看到數(shù)據(jù)庫中所有屬于自己建的表的名稱 2、查詢SQL中所有表及列: Select dbo.sysobjects.name as Table_name, dbo.syscolumns.name AS Column_name FROM dbo.syscolumns INNER JOIN dbo.sysobjects ON dbo.syscolumns.id = dbo.sysobjects.id Where (dbo.sysobjects.xtype = 'u') AND (NOT (dbo.sysobjects.name LIKE 'dtproperties')) 3、在Sql查詢分析器,還有一個簡單的查詢方法: EXEC sp_MSforeachtable @command1="sp_spaceused '?'" 執(zhí)行完之后,就可以看到數(shù)據(jù)庫中所有用戶表的信息 4、查詢總存儲過程數(shù):select count(*) 總存儲過程數(shù) from sysobjects where xtype='p' 附:xtype類型D = 默認值或 DEFAULT 約束
F = FOREIGN KEY 約束L = 日志FN = 標量函數(shù)
IF = 內(nèi)嵌表函數(shù)
P = 存儲過程
PK = PRIMARY KEY 約束(類型是 K)
RF = 復(fù)制篩選存儲過程S = 系統(tǒng)表TF = 表函數(shù)
TR = 觸發(fā)器U = 用戶表UQ = UNIQUE 約束(類型是 K)V = 視圖X = 擴展存儲過程 另:在sqlserver中取得某個數(shù)據(jù)庫中所有表名的sql語句 select sysobjects.name from sysobjects.xtype ='U';SELECT name
WHERE (xtype = 'U') 在數(shù)據(jù)庫的sysobjects表里有這個數(shù)據(jù)庫全部表的信息, xtype值為'U'的就是表名 注意:一般通過上述方法獲得全部用戶表示都會有一個dtproperties表,SQLSERVER 默認它也是用戶表,想要從用戶表中排出,需要加上限定條件 status0,即:select * from sysobjects where xtype='U' and status0
可以通過 “order by 字段名 asc (desc)” 命令進行排序。
sql:select * from tablename order by id DESC;
用 DESC 表示按倒序排序(即:從大到小排序) ,用 ACS 表示按正序排序(即:從小到大排序)。
參考資料
csdn.csdn[引用時間2018-1-28]
語句:
select
SERVERPROPERTY('Collation')
--查看默認排序規(guī)則
select
SERVERPROPERTY('SqlCharSetName')--查看排序使用字符集名稱
至于sqlserver的字符集個人認為就是windows的字符集。
排序規(guī)則還可以通過SSMS中右鍵查看數(shù)據(jù)庫屬性里的‘維護'。
排序可以是升序的
(ASC),也可以是降序的
(DESC)。如果未指定是升序還是降序,就假定為
ASC。
下面的查詢返回按
ProductID
升序排序的結(jié)果:
代碼如下
復(fù)制代碼
USE
AdventureWorks2008R2;
GO
SELECT
ProductID,
ProductLine,
ProductModelID
FROM
Production.Product
ORDER
BY
ProductID;
如果
ORDER
BY
子句中指定了多個列,則排序是嵌套的。下面的語句先按產(chǎn)品子類別降序排序
Production.Product
表中的行,然后在每個產(chǎn)品子類別中按
ListPrice
升序排序這些行。
代碼如下
復(fù)制代碼
USE
AdventureWorks2008R2;
GO
SELECT
ProductID,
ProductSubcategoryID,
ListPrice
FROM
Production.Product
ORDER
BY
ProductSubcategoryID
DESC,
ListPrice;
問題
同一...排序可以是升序的
(ASC),也可以是降序的
(DESC)。如果未指定是升序還是降序,就假定為
ASC。
下面的查詢返回按
ProductID
升序排序的結(jié)果:
代碼如下
復(fù)制代碼
USE
AdventureWorks2008R2;
GO
SELECT
ProductID,
ProductLine,
ProductModelID
FROM
Production.Product
ORDER
BY
ProductID;
如果
ORDER
BY
子句中指定了多個列,則排序是嵌套的。下面的語句先按產(chǎn)品子類別降序排序
Production.Product
表中的行,然后在每個產(chǎn)品子類別中按
ListPrice
升序排序這些行。
代碼如下
復(fù)制代碼
USE
AdventureWorks2008R2;
GO
SELECT
ProductID,
ProductSubcategoryID,
ListPrice
FROM
Production.Product
ORDER
BY
ProductSubcategoryID
DESC,
ListPrice;
問題
同一個查詢的結(jié)果集為什麼有時候是按他想要的順序排列,有時候又不是,或者是在SQL2000里是這個順序,到了SQL2005/2008又是那個順序?
其實,只要語句里沒有指定“order
by”,SQLSERVER并不會按照順序返回的。有可能你的表里有一個字段已經(jīng)建立了索引
你想結(jié)果集按照那個建立了索引的字段排序,那么你不指定“order
by”是沒有問題的,因為表的存儲順序就是按照那個字段
的順序排好序了,所以可以不指定“order
by”,但是如果你沒有在想排序的那個字段建立索引,或者在SQL2000里建立了
索引,而在SQL2005/2008里沒有建立索引,那么就要明確地用“order
by”指定。如果你沒有指定,哪怕一模一樣的查詢,
結(jié)果集順序這一次和上一次不一樣是很正常的。
當前名稱:sqlserver排列,sqlserver 排序
文章轉(zhuǎn)載:http://www.chinadenli.net/article20/dseopjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、靜態(tài)網(wǎng)站、網(wǎng)站維護、Google、網(wǎng)站營銷、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)