好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > SQL Server 空值處理策略[推薦]

SQL Server 空值處理策略[推薦]

熱門標簽:菏澤語音電銷機器人加盟公司 知名電銷機器人價格 廣東防封卡外呼系統原理是什么 地圖標注牌 長沙智能外呼系統 電銷機器人公司 需要哪些牌照 外呼系統改進 湖南電腦外呼系統平臺 分享百度地圖標注多個位置
文章轉自IT專家網論壇,作者builder
本文探討了在SQL Server中處理這些值時涉及的3個問題:計數、使用空表值以及外鍵處理?! 祿暾允侨魏螖祿煜到y要保證的重點。不管系統計劃得有多好,空數據值的問題總是存在。本文探討了在SQL Server中處理這些值時涉及的3個問題:計數、使用空表值以及外鍵處理。
用COUNT(*)處理空值
  大多數集合函數都能在計算時消除空值;COUNT函數則屬于例外。對包含空值的一個列使用COUNT函數,空值會從計算中消除。但假如COUNT函數使用一個星號,它就計算所有行,而不管是否存在空值。
  如果希望COUNT函數對給定列的所有行(包括空值)進行計數,請使用ISNULL函數。ISNULL函數會將空值替換成有效的值。
  事實上,對集合函數來說,如果空值可能導致錯誤結果,ISNULL函數就非常有用。記住在使用一個星號時,COUNT函數會對所有行進行計算。下例演示了空值在AVG和COUNT集合函數中的影響:
復制代碼 代碼如下:

  SET NOCOUNT ON
  GO
  CREATE TABLE xCount
  (pkey1 INT IDENTITY NOT NULL
  CONSTRAINT pk_xCount PRIMARY KEY,
  Col1 int NULL)
  GO
  INSERT xCount (Col1) VALUES (10)
  GO
  INSERT xCount (Col1) VALUES (15)
  GO
  INSERT xCount (Col1) VALUES (20)
  GO
  INSERT xCount (Col1) VALUES (NULL)
  GO
  SELECT AVG(Col1) AvgWithoutIsNullFunctionOnCol1,
  AVG(ISNULL(Col1,0)) AvgWithIsNullFunctionOnCol1,
  COUNT(Col1) NoIsNullFunctionOnCol1 ,
  COUNT(ISNULL(Col1,0)) UsinGISNullFunctionOnCol1,
  Count(*) UsingAsterisk
  FROM xCount
  GO
  DROP TABLE xCount
  GO
  OUTPUT:
  AvgWOIsNullFnctnCol1 AvgWIsNullFnctnCol1 WOIsNullFnctnCol1
  WIsNullFnctnCol1 UsingAsterisk
  ---------------- ------------- -------------- ------------
  15 11 3 4 4

  恰當使用空表值
  SQL Server可能出現一種特殊情況:在引用父表的一個表中,因為不允許空值,所以“聲明引用完整性”(DRI)可能不會得到強制。即使父表不包含空值,在子表引用了父表主鍵約束或惟一約束的列中,也可能包含空值。
假如來自父表的值目前未知,就不會有任何問題。例如,父表可能是一個地址表,而子表可能包含聯系信息。由于許多原因,可能暫時不知道要傳給父表的聯系地址。這是一種基于時間的問題,空值在其中或許是合適的。
  如下例所示,我們創建父表,并在其中插入兩個值。
復制代碼 代碼如下:

  SET NOCOUNT ON
  GOCREATE TABLE Parent(pkey1 INT IDENTITY NOT NULL
  CONSTRAINT pkParent PRIMARY KEY,col1 INT NULL)GOINSERT
  Parent (col1) VALUES (284)GOINSERT
  Parent (col1) VALUES (326)GO
  以下代碼則創建子表,并在引用父表的列中插入一個空值。
  CREATE TABLE Child
  (pkey1 INT IDENTITYCONSTRAINT pkChild
  PRIMARY KEY,Parentpkey1 INT NULLCONSTRAINT fkChildParent
  FOREIGN KEYREFERENCES Parent(pkey1),col1 INT NULL)
  GOINSERT Child (Parentpkey1, col1) VALUES (null,2)GO

  但在以下代碼中,要同時從父表和子表選擇值。雖然父表不包含空值,但在子表引用了父表的那個列中,將允許一個空值。
  然后丟棄所有表,清除這個演示所用的數據庫對象。
  SELECT * FROM ChildGOSELECT * FROM ParentGODROP TABLE Child, ParentGO
  在可以為空的外鍵中檢查數據的有效性
  如果由兩個列共同組成主鍵,而且一個子表將主鍵作為可為空值的外鍵來繼承,就可能得到錯誤的數據。可在一個外鍵列中插入有效的值,但在另一個外鍵列中插入空值。然后,可添加一個數據表檢查約束,在可為空的外鍵中檢查數據的有效性。
  任何多列外鍵都可能遇到同樣的問題。所以,你需要添加一個檢查約束來檢測異常。最初,檢查約束將檢查構成外鍵的所有列中可能為空的值。檢查約束還要檢查這些列中不能為空的值。如兩個檢查都通過,問題就解決了。
  以下示范腳本展示了這樣的一個異常,以及如何用檢查約束來糾正它。

  空值是所有數據庫開發者和管理員都要遇到的。所以,要想開發成功的應用程序,必須知道如何處理這些值。本文和你分享了空值處理的一些技巧和技術。

標簽:商洛 呼和浩特 西寧 天水 泉州 福建 美容院 珠海

巨人網絡通訊聲明:本文標題《SQL Server 空值處理策略[推薦]》,本文關鍵詞  SQL,Server,空值,處理,策略,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL Server 空值處理策略[推薦]》相關的同類信息!
  • 本頁收集關于SQL Server 空值處理策略[推薦]的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 啊不要啊太大了| 天涯最新在线视频观看免费| 老牛影院在线精品免费观看网站 | 无码视频在线观看| 欧美手机手机在线视频一区 | 日本免费的一级绿象| 99这里都是精品| 亚洲精品永久久久久久久久| 性感美女逼| 日本xxnxx| 好爽?好紧?宝贝夹住尿里了作文| 亚洲AV成人片无码网站玉蒲团 | 有毛片**毛片毛片毛片| 男女一边摸边做边爱的视频| 国产精品一级视频| 一级特黄电影| 中国孕妇疯狂xxxxbbbb| 欧美日韩不卡高清| 日本床爱全过程激烈视频| 巨大乳在线播放| 我拿我的妹妹做实验OPPO版| 免费一级毛片女人图片| 日本护士xxxx18.19| 特级精品毛片免费观看| 久久黄色网址| 女人露jiji秘?免费视频| 91黑料爆料今日吃瓜在线| 美国性色生活片禁忌二| 啊~cao死你个小sao货| 欧美天天综合| 国产精??清纯女学生被下药强摸| 新婚夫妇白天啪啪自拍| 伊人黄| 蜜桃成熟时无删减版在线| 天仙TV国产丝袜嫩模福利| 奶?啊?嗯高潮了嗯嗯嗯| 草草影院最新发布页| 嗯啊嗯啊轻点| 美女扒开胸罩秘?免费视频网 | 风流美妇肥臀乱翘迎粗大视频| 久久精品国产99国产精2019 |