濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > sqlserver isnull在數(shù)據(jù)庫(kù)查詢中的應(yīng)用

sqlserver isnull在數(shù)據(jù)庫(kù)查詢中的應(yīng)用

熱門標(biāo)簽:成都電話外呼系統(tǒng)一般多少錢 銀川高頻外呼回?fù)芟到y(tǒng)多少錢 數(shù)字匠心電銷機(jī)器人 沒(méi)聽見電話機(jī)器人幫你接 al智能電話機(jī)器人 陜西電銷外呼系統(tǒng)好用嗎 蘭州語(yǔ)音外呼系統(tǒng)運(yùn)營(yíng)商 最新人工智能電銷機(jī)器人 如何做地圖標(biāo)注圖鋪
isnull在數(shù)據(jù)庫(kù)查詢中的應(yīng)用,特別是再語(yǔ)句連接的時(shí)候需要用到

比如連接時(shí)候,某個(gè)字段沒(méi)有值但是又要左連接到其他表上 就會(huì)顯示空,

isnull可以判斷是否是NULL,如果是給個(gè)默認(rèn)值

isnull("字段名","默認(rèn)的數(shù)據(jù)")

SqlServer中的null值與IsNull函數(shù)

NULL 值的三大特點(diǎn),分別是:1)NULL值不參加統(tǒng)計(jì);2)NULL值不進(jìn)入計(jì)算表達(dá)式;3)不能與其它值進(jìn)行比較。

所謂NULL值不參加統(tǒng)計(jì) 即 在使用統(tǒng)計(jì)函數(shù)時(shí),凡是涉及到 NULL值的都會(huì)被忽視掉(用詞可能不準(zhǔn)確),不要以為這不重要,其實(shí)在某些地方這是很重要的。而 NULL值不進(jìn)入計(jì)算也就是說(shuō)在進(jìn)行數(shù)據(jù)之間的統(tǒng)計(jì)計(jì)算時(shí),若有為 NULL值的項(xiàng),那么它是不進(jìn)入即不參加計(jì)算的。這也是一個(gè)不容忽視的問(wèn)題。這即使在生活中也是常見的。就好比如說(shuō)一個(gè)人的獎(jiǎng)金為NULL值(沒(méi)有錄入數(shù)據(jù)或其它的原因,不做探討),而他的基本工資總不會(huì)為 0 吧??。ㄈ绻麨?,早就被T了),月末算總工資的時(shí)候把基本工資加上獎(jiǎng)金,而若是獎(jiǎng)金為 NULL值,總工資 = 基本工資 + 獎(jiǎng)金(NULL),那么當(dāng)此種情況發(fā)生時(shí),總工資 = 基本工資 ?

肯定的回答是:不等于。因?yàn)楠?jiǎng)金為 NULL值,NULL值代表具體的什么值?都不知道。而不知道NULL值到底是多少,那么又怎么能進(jìn)行計(jì)算呢?所以總工資等于 NULL 的,也是不確定的。這樣,還有員工敢在公司嗎?萬(wàn)一你來(lái)個(gè)總工資的 NULL 為真的空了,那還做什么工作???!這就涉及到一個(gè)強(qiáng)制轉(zhuǎn)換的問(wèn)題,即把 NULL值強(qiáng)制轉(zhuǎn)換為 0 ,讓其具備業(yè)務(wù)意義。而強(qiáng)制轉(zhuǎn)換的關(guān)鍵字就是 IS ,語(yǔ)法即 IS NULL;這樣就可以進(jìn)行涉及 NULL值的計(jì)算了。

不過(guò) NULL值也不是對(duì)所有的統(tǒng)計(jì)函數(shù)都有影響。一般來(lái)說(shuō)。統(tǒng)計(jì)平均值(AVG)時(shí), NULL值是一定會(huì)有影響的;統(tǒng)計(jì)最小值(MIN)時(shí), NULL值是可能會(huì)對(duì) MIN 有影響,在我認(rèn)為是有點(diǎn)隨機(jī)性質(zhì);統(tǒng)計(jì)最大值(MAX)或統(tǒng)計(jì)和(NULL)時(shí),NULL值是對(duì)其完全沒(méi)有影響的。

所以又有一種說(shuō)法是:null值不參加統(tǒng)計(jì),不參加計(jì)算,只能用is判斷。

判斷Null值語(yǔ)句:select * from 表 where 字段 is null;

轉(zhuǎn)換null值語(yǔ)句:select 字段1,字段2,字段3,is null(字段3,'某個(gè)值') from 表;

總之,我們要認(rèn)真對(duì)待 NULL值,最好在使用統(tǒng)計(jì)函數(shù)時(shí),都加上 IS NULL,以防意外出現(xiàn)。

sqlserver 中isnull的用法一例

數(shù)據(jù)庫(kù)中有一列記錄文章的訪問(wèn)次數(shù)。我現(xiàn)在要實(shí)現(xiàn)的功能是,每刷新一次頁(yè)面。 訪問(wèn)次數(shù)+1。sql語(yǔ)句,art_count為訪問(wèn)次數(shù),int類型。
update article set art_count="(art_count+1) where art_id="3 但如果art_count為NULL,則不起作用。
如果是oracle用decode可以很容易的實(shí)現(xiàn)此功能。sqlserver中如何實(shí)現(xiàn)類似的功能呢?
sqlserver中有一個(gè)函數(shù)isnull,此函數(shù)有兩個(gè)參數(shù)isnull(p1,p2)其用法是如果p1為null,則用p2代替。
此函數(shù)類似oracle的nvl。例如
SELECT AVG(ISNULL(price, $10.00)) FROM titles 受到此函數(shù)的啟發(fā)我這樣寫的sql語(yǔ)句
update article set art_count="(isnull(vote_count,0)+1) where art_id="3 "
您可能感興趣的文章:
  • sqlserver 三種分頁(yè)方式性能比較[圖文]
  • MySql中的IFNULL、NULLIF和ISNULL用法詳解
  • 在SQL Server中使用ISNULL執(zhí)行空值判斷查詢
  • SQLSERVER ISNULL 函數(shù)與判斷值是否為空的sql語(yǔ)句
  • 淺談SQLServer的ISNULL函數(shù)與Mysql的IFNULL函數(shù)用法詳解
  • 深入SQLServer中ISNULL與NULLIF的使用詳解
  • SQL中的ISNULL函數(shù)使用介紹
  • ASP 空字符串、IsNull、IsEmpty區(qū)別分析
  • asp.net String.IsNullOrEmpty 方法
  • VBS教程:函數(shù)-IsNull 函數(shù)
  • 淺析SQL Server的分頁(yè)方式 ISNULL與COALESCE性能比較

標(biāo)簽:通化 邢臺(tái) 宜春 遼源 巴彥淖爾 鹽城 本溪 朔州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sqlserver isnull在數(shù)據(jù)庫(kù)查詢中的應(yīng)用》,本文關(guān)鍵詞  sqlserver,isnull,在,數(shù)據(jù)庫(kù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《sqlserver isnull在數(shù)據(jù)庫(kù)查詢中的應(yīng)用》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于sqlserver isnull在數(shù)據(jù)庫(kù)查詢中的應(yīng)用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    土默特右旗| 博湖县| 浙江省| 新宁县| 罗田县| 盐池县| 尼玛县| 囊谦县| 韶关市| 开平市| 无锡市| 施秉县| 福清市| 运城市| 龙口市| 留坝县| 许昌县| 施秉县| 苗栗县| 乌兰察布市| 玉环县| 定日县| 大安市| 额尔古纳市| 甘洛县| 涟源市| 临颍县| 兰考县| 鹤岗市| 武宁县| 台南市| 大邑县| 抚远县| 额敏县| 武陟县| 沙雅县| 长岭县| 马龙县| 庆阳市| 正定县| 肃宁县|