成人免费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-24 09:07:11

SQL Server數備份

2011-03-24 09:24:08

SQL Server數還原

2011-03-24 09:45:34

SQL Server數恢復

2011-03-30 11:15:35

SQL Server數應用程序

2010-07-14 13:14:01

SQL Server數

2021-05-17 06:57:34

SQLServer數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品日韩一区二区 | 99精品欧美一区二区三区综合在线 | 电影91久久久 | 一区二区三区视频免费看 | 国产高清在线观看 | 欧美一区免费 | 日韩中文字幕一区二区 | 亚洲欧美高清 | 涩色视频在线观看 | 欧美a区 | 在线观看国产 | 91亚洲一区| 成人国产精品入口免费视频 | www.黄色在线观看 | 黄色国产 | 久久91av| www.狠狠干| 日韩一区二区三区在线 | 操操操日日日 | 国产精品久久久久久久久久 | 伊人天堂网 | 欧美精品在线一区二区三区 | 日韩一区二区三区在线 | 欧美一区二区三区视频在线观看 | 特一级黄色毛片 | 国产精品69毛片高清亚洲 | 国产午夜精品久久久 | 久久99深爱久久99精品 | 成年人黄色小视频 | 中文字幕一区二区三区四区五区 | 超碰最新在线 | 精国产品一区二区三区 | 国内精品伊人久久久久网站 | 99国内精品 | 91亚洲精选| 国产一级毛片精品完整视频版 | 亚洲精品片 | 99精品久久 | 99成人 | 欧美综合一区二区 | 亚洲国产一区在线 |