成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server數據庫中正確使用DISTINCT大小寫

數據庫 SQL Server
以下的文章主要向大家講述的是SQL Server數據庫中正確使用DISTINCT的大小寫問題,一些就是文章的主要內容的主要內容描述。

我們今天是要和大家一起討論的是SQL Server數據庫中正確使用DISTINCT的大小寫問題,在實際操作中SQL Server為你提供了在你的數據庫中存儲混合的大小寫數據的實際操作能力,但是根據你怎樣創建數據庫,SQL Server將在你給出T-SQL命令時忽視大小寫。

你可能面對的一個問題是你想從一個表獲得只包含不同值的列表,來顯示你的表中不

 

SQL Server為你提供了在你的數據庫中存儲混合大小寫數據的能力,但是根據你怎樣創建數據庫,SQL Server數據庫將在你給出T-SQL命令時忽視大小寫。你可能面對的一個問題是你想從一個表獲得只包含不同值的列表,來顯示你的表中不同,但是如果你的數據庫是按照不區分大小寫來建立的,那么SQL Server數據庫中使用DISTINCT條件語句不會顯示這些不同,它只會將所有的值放在一起。所以在這方面有什么選擇嗎?

 

專家解答

 

為了說明這個動作,我們將使用一個區分大小寫和一個不區分大小寫的數據庫來看看它工作的兩種方式。

第一組查詢使用了AdventureWorks數據庫,它被配置為區分大小寫。為了得到從你的數據庫而來的集合,你可以運行這個查詢:

  1. SELECT name, collation_name   
  2. FROM master.sys.databases  

我們將查詢AdventureWorks數據庫中的Preson.Contact的數據。所有的數據都是作為混合大小寫來建立的,所以當我們運行這個查詢的時候我們沒有得到重復的值。

 

  1. SELECT DISTINCT TOP 10 FirstName   
  2. FROM Person.Contact   
  3. WHERE FirstName LIKE 'A%'   
  4. ORDER BY 1  

如果你更新一條記錄并將FirstName從“Adam”改為“ADAM”,那么當運行這個查詢時我們會獲得兩個不同的值。

  1. UPDATE Person.Contact   
  2. SET FirstName = 'ADAM'   
  3. WHERE ContactID = 62   
  4. GO   
  5. SELECT DISTINCT TOP 10 FirstName   
  6. FROM Person.Contact   
  7. WHERE FirstName LIKE 'A%'   
  8. ORDER BY 1  

正如你看到的,現在“Adam”和“ADAM”作為不同的值來顯示。

 

 

下一步我們將要做的是在一個不區分大小寫的數據庫中創建一個新表然后從Person.Contact加載所有的數據到這個新表中。

  1. CREATE TABLE Test.dbo.contact (FirstName nvarchar(50))   
  2. GO   
  3. INSERT INTO Test.dbo.contact   
  4. SELECT FirstName FROM Person.Contact   
  5. GO   
  6. SELECT DISTINCT TOP 10 FirstName   
  7. FROM Test.dbo.contact   
  8. WHERE FirstName LIKE 'A%'   
  9. ORDER BY 1   
  10. GO  

當我們運行SELECT查詢時你可以看到輸出將“Adam”和“ADAM”結合起來,因為不區分大小寫。

 

 

為了解決這個問題我們可以將這個查詢按照下面的方式修改使得這個收集在FirstName字段上區分大小寫。

  1. SELECT DISTINCT TOP 10 FirstName COLLATE sql_latin1_general_cp1_cs_as   
  2. FROM Test.dbo.contact   
  3. WHERE FirstName LIKE 'A%'   
  4. ORDER BY 1  

當這個運行時,我們看到了值“Adam”和“ADAM”。

 

 

所以根據你的數據庫是怎樣建立的,你將能夠或不能看到這個不同。

為了給你顯示另一個例子,下面是一個快速選擇區分大小寫或不區分大小寫選項的方法。

我們運行的第一個查詢是SQL Server數據庫中使用區分大小寫,所以四條記錄都將顯示出來。

  1. select distinct (item) COLLATE sql_latin1_general_cp1_cs_as   
  2. FROM (   
  3. select 'abcd' item   
  4. union all select 'ABCD'   
  5. union all select 'defg'   
  6. union all select 'deFg') items  

第二個查詢中不同的是收集的名稱。當這個查詢使用不區分大小寫時,我們只獲得兩條記錄。

  1. select distinct (item) COLLATE sql_latin1_general_cp1_ci_ai   
  2. FROM (   
  3. select 'abcd' item   
  4. union all select 'ABCD'   
  5. union all select 'defg'   
  6. union all select 'deFg') items  

以上的相關內容就是對SQL Server數據庫中使用DISTINCT的大小寫問題的介紹,望你能有所收獲。

 

責任編輯:佚名 來源: 《商務周刊》
相關推薦

2010-06-28 10:36:42

SQL Server數

2010-07-01 11:14:36

SQL Server

2010-06-17 12:35:49

SQL Server數

2010-07-01 16:52:53

SQL Server數

2010-07-12 14:55:34

SQL Server

2010-11-23 13:42:18

mysql數據庫大小寫

2010-06-18 13:14:26

SQL Server

2010-06-07 13:00:34

MySQL數據庫

2010-03-04 14:02:51

Python大小寫

2010-07-01 15:02:29

SQL Server數

2010-06-04 20:04:10

MySQL數據庫大小寫

2010-05-05 10:19:19

Oracle數據導

2010-06-30 08:27:45

SQL Server數

2010-07-21 10:05:29

SQL Server排

2021-06-04 10:30:41

MySQL表名大小

2010-06-07 14:34:49

連接MySQL 數據庫

2010-07-15 17:28:50

SQL Server

2010-11-25 16:09:58

mysql查詢大小寫

2010-07-07 10:31:43

SQL Server數

2010-07-07 14:17:43

SQL Server數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人夜晚看av | 日韩精品一区二区三区视频播放 | 久久精品久久久久久 | 国精品一区二区 | 国产精品久久久久久久午夜片 | 国产亚洲精品精品国产亚洲综合 | a黄视频| 国产一区二区三区视频在线观看 | 欧美午夜一区 | www国产精| 精品国产一区二区在线 | 99精品国产一区二区青青牛奶 | 成人av一区| 9999久久| 国产精品一区二区av | 色久伊人 | 久久久人| 久久久综合久久 | 中国免费黄色片 | 婷婷国产一区二区三区 | 欧美国产日韩一区 | 亚洲二区在线 | 免费国产成人av | 国产精品爱久久久久久久 | 中文字幕 在线观看 | 黄色一级大片在线免费看产 | 一区二区三区四区免费观看 | 国产精品久久久久永久免费观看 | 国产精品夜夜春夜夜爽久久电影 | 91亚洲国产成人久久精品网站 | av手机在线| 亚洲欧美在线观看 | 国产一级视频在线播放 | 99色播| 成人国内精品久久久久一区 | 国产在线观看一区二区三区 | 做a的各种视频 | 美日韩精品 | 久久久久久高潮国产精品视 | 亚洲 欧美 日韩在线 | 日本大香伊一区二区三区 |