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

SQL Server數據庫ISNULL函數的應用實例

數據庫 SQL Server
本文我們主要介紹了SQL Server數據庫ISNULL函數的應用實例,通過這些實例讓我們來了解一下ISNULL函數的使用吧,希望能夠對您有所收獲!

SQL Server數據庫ISNULL函數的使用是本文我們主要要介紹的內容,我們通過實例來說明ISNULL函數的使用,接下來我們就開始介紹這部分內容。

1.利用ISNULL函數干掉OR運算!

題目是查詢表中VAL小于20的值,包括NULL值:

 

  1. SELECT * FROM T WHERE ISNULL(VAL,-1) < 20 
  2. SELECT * FROM T WHERE VAL IS NULL OR VAL < 20 

兩個SQL具有相同的輸出結果

 

  1. GRP_A GRP_B GRP_C VAL  
  2. ---- ----- ----- --- 
  3. a1 b1 c1 10  
  4. a1 b1 c2 10  
  5. a2 b3 c3 NULL  
  6. a2 b3 c3 NULL  
  7. a2 b3 c3 NULL  
  8. (5 行受影響) 

 

  1. GRP_A GRP_B GRP_C VAL  
  2. ---- ------ ----  --  
  3. a1 b1 c1 10  
  4. a1 b1 c2 10  
  5. a2 b3 c3 NULL  
  6. a2 b3 c3 NULL  
  7. a2 b3 c3 NULL  
  8. (5 行受影響) 

2.ISNULL非主流更新表存儲過程示例

如某更新表存儲過程如下:

 

  1. CREATE PROC UpdateT(  
  2. @ID INT,  
  3. @GRP_A VARCHAR(10) = NULL,  
  4. @GRP_B VARCHAR(10) = NULL,  
  5. @GRP_C VARCHAR(10) = NULL,  
  6. @VAL INT = 0 
  7. )AS  
  8. BEGIN  
  9. UPDATE T SET   
  10. GRP_A = @GRP_A,  
  11. GRP_B = @GRP_B,  
  12. GRP_C = @GRP_C,  
  13. VAL = @VAL  
  14. WHERE ID = @ID  
  15. END 

 

當我們使用這個存儲過程的時候,必須先得該行的所有記錄,再把所有記錄更新回去,可是這并不總是必須的。有時候手頭只有兩個數據:ID和VAL,我只想更新這個VAL,又有時候手頭有另外兩個數據:ID和GRP_A,這時候只更新GRP_A列即可。還有很多情況,如:

僅更新GRP_A,

僅更新GRP_A,GRP_B

僅更新GRP_A,GRP_B,GRP_C

僅更新GRP_A,GRP_B,GRP_C,VAL

...

這樣的組合太多了,要想一勞永逸解決問題那就得更新任何字段前,先得到整行記錄,再整行更新回去,于是多了一項工作:先查詢,再更新,那沒有辦法不先查詢直接更新某一列呢?而且列可以任意組合?

在給出答案前,先聲明一句:這個方法算不上完美解決方案,僅僅是個思路罷了,雖然我一直認為沒什么影響,但如果要在正式項目中使用,建議還是多聽聽DBA的意見!

非主流更新任意列存儲過程:

 

  1. CREATE PROC UpdateT(  
  2. @ID INT,  
  3. @GRP_A VARCHAR(10) = NULL,  
  4. @GRP_B VARCHAR(10) = NULL,  
  5. @GRP_C VARCHAR(10) = NULL,  
  6. @VAL INT = 0 
  7. )AS  
  8. BEGIN  
  9. UPDATE T SET   
  10. GRP_A = ISNULL(@GRP_A,GRP_A),  
  11. GRP_B = ISNULL(@GRP_B,GRP_B),  
  12. GRP_C = ISNULL(@GRP_C,GRP_C),  
  13. VAL = ISNULL(@VAL,VAL)  
  14. WHERE ID = @ID  
  15. END 

關于SQL Server數據庫ISNULL函數的應用實例就介紹到這里了,如果您想了解更多SQL Server數據庫的知識,可以看一下這里的文章:http://database.51cto.com/sqlserver/,希望本次的介紹能夠對您有所收獲!

【編輯推薦】

  1. SQL Server 2000層次數據查詢的實現方法
  2. SQL Server根據語言查詢來返回不同的結果
  3. SQL Server 2008連接數據庫引擎的驅動和方式
  4. SQL Server查找XML里面符合某個條件的數據的用法
  5. SQL Server的執行計劃及SQL查詢優化實例分析與總結
責任編輯:趙鵬 來源: 博客園
相關推薦

2011-07-20 16:03:06

SQL Server數分區表

2011-08-22 14:00:13

SQL Server 游標調用函數

2011-08-22 12:01:36

SQL Server代碼優化

2011-08-22 09:55:30

SQL Server 排序

2010-07-16 14:17:18

SQL Server

2010-07-15 17:28:50

SQL Server

2011-08-18 10:21:50

SQL ServerDATEPART

2011-08-22 13:04:47

SQL Server數函數

2011-08-22 11:39:53

SQL Server數PIVOT

2010-09-06 15:29:13

SQL函數

2010-06-17 10:02:12

SQL Server數

2011-08-19 14:53:02

SQL ServerDataRelatio

2010-07-08 11:05:14

SQL Server數

2011-08-18 10:55:55

SQL ServerDATEADD

2011-03-30 11:15:35

SQL Server數應用程序

2010-07-14 13:14:01

SQL Server數

2011-03-24 09:07:11

SQL Server數備份

2011-03-24 09:24:08

SQL Server數還原

2011-03-24 09:45:34

SQL Server數恢復

2021-05-17 06:57:34

SQLServer數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久9999鸭 | 中文字幕一区二区三区不卡在线 | 日本五月婷婷 | 午夜精品一区 | av性色全交蜜桃成熟时 | 天天操天天干天天爽 | 成人免费视频 | 成人久久18免费网站麻豆 | 九九视频在线观看 | 精品国产乱码久久久久久蜜臀 | 天天成人综合网 | 欧美视频免费在线 | 99精品国产一区二区三区 | 成人午夜高清 | 国产精品久久国产精品久久 | 国产精品久久久久久久一区探花 | 午夜激情一区 | 成人在线观看黄 | 日本成人综合 | 欧美日韩综合视频 | 超碰国产在线 | 久久综合久久自在自线精品自 | 精品久久久久久久久久久久久久 | 人人干人人草 | 中文字幕在线一 | 成人免费观看男女羞羞视频 | 成人免费看片网 | 国产成人精品一区二区三区 | 日韩伦理电影免费在线观看 | 青青草久久 | 在线成人www免费观看视频 | 99视频在线 | 一区精品视频在线观看 | 午夜综合 | 狠狠狠色丁香婷婷综合久久五月 | 美女亚洲一区 | 欧美视频在线免费 | 91久久精品一区二区二区 | 欧美在线| 免费网站国产 | 国产乱码精品1区2区3区 |