千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > postgreSQL is not null 和 !=NULL有什么區(qū)別嗎?

postgreSQL is not null 和 !=NULL有什么區(qū)別嗎?

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-13 09:09:16 1697159356

一、postgreSQL is not null 和 !=NULL的區(qū)別

按照sql標(biāo)準(zhǔn)來(lái)說(shuō) = null這種語(yǔ)法本來(lái)就是錯(cuò)誤的,在oracle postgresql mssql等企業(yè)級(jí)數(shù)據(jù)庫(kù)中這種語(yǔ)法根本就不支持。

判斷是否為null的標(biāo)準(zhǔn)sql規(guī)范是is null 和is not null。

sql是個(gè)“公共”的數(shù)據(jù)庫(kù)查詢語(yǔ)言有他自己的標(biāo)準(zhǔn)。mysql postgresql mssql oracle等都不同程度的遵循不同的sql標(biāo)準(zhǔn)并且各自都又在自家產(chǎn)品中加入了他自己的特色。

postgresql默認(rèn)不支持 = null這種語(yǔ)法,但是在配置文件中可以設(shè)置開(kāi)啟支持,會(huì)自動(dòng)的把=null轉(zhuǎn)換成is null,!=null自動(dòng)轉(zhuǎn)換成is not null

null就是null,null不等于空字符串。

默認(rèn)情況下做比較條件時(shí)使用關(guān)鍵字“is null”和“is not null”。

如果你一定要使用!= null來(lái)進(jìn)行條件判斷,需要加上這個(gè)命令語(yǔ)句:SET ANSI_NULLS OFF,這時(shí)數(shù)據(jù)庫(kù)進(jìn)入ANSI SQL非標(biāo)準(zhǔn)模式,你會(huì)發(fā)現(xiàn)IS NOT NULL 和 != null 是等效的了。

這里使用的是模式切換命令SET ANSI_NULLS[ON/OFF]。ON值采用ANSI SQL嚴(yán)格標(biāo)準(zhǔn),OFF值采用非標(biāo)準(zhǔn)兼容模式。另外SET ANSI_DEFAULTS [ON/OFF]命令也可以實(shí)現(xiàn)標(biāo)準(zhǔn)的切換,只是這個(gè)命令控制的是一組符合SQL-92標(biāo)準(zhǔn)的設(shè)置,其中就包括Null值的標(biāo)準(zhǔn)。

延伸閱讀:

二、mysql字符集和排序規(guī)則

所為字符集,就是用來(lái)定義字符在數(shù)據(jù)庫(kù)中的編碼的集合。常見(jiàn)的字符集有:utf8(支持中文)和AccIS(不支持中文)

數(shù)據(jù)庫(kù)中的排序規(guī)則用來(lái)定義字符在進(jìn)行排序和比較的時(shí)候的一種規(guī)則。常見(jiàn)的如下:
(1) utf8_general_ci 不區(qū)分大小寫,utf8_general_cs 區(qū)分大小寫
(2) utf8_bin 規(guī)定每個(gè)字符串用二進(jìn)制編碼存儲(chǔ),區(qū)分大小寫,可以直接存儲(chǔ)二進(jìn)制的內(nèi)容

說(shuō)明:所為排序規(guī)則,就是指字符比較時(shí)是否區(qū)分大小寫,以及是按照字符編碼進(jìn)行比較還是直接用二進(jìn)制數(shù)據(jù)比較

utf8_unicode_ci和utf8_general_ci對(duì)中、英文來(lái)說(shuō)沒(méi)有實(shí)質(zhì)的差別。
utf8_general_ci校對(duì)速度快,但準(zhǔn)確度稍差。
utf8_unicode_ci準(zhǔn)確度高,但校對(duì)速度稍慢。

如果你的應(yīng)用有德語(yǔ)、法語(yǔ)或者俄語(yǔ),請(qǐng)一定使用utf8_unicode_ci。一般用utf8_general_ci就夠了。

所以一般字符集用utf-8,排序規(guī)則用utf8_general_ci

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
為什么二級(jí)封鎖協(xié)議不能保證可重復(fù)讀,一級(jí)封鎖協(xié)議不能保證可重復(fù)讀和讀臟數(shù)據(jù)?

一、為什么二級(jí)封鎖協(xié)議不能保證可重復(fù)讀排它鎖又叫寫鎖,事務(wù)A對(duì)數(shù)據(jù)D加了排它鎖,其它任何事務(wù)都不能再對(duì)數(shù)據(jù)D加共享鎖或者排它鎖。也就是說(shuō)A...詳情>>

2023-10-13 11:01:05
用access做一個(gè)數(shù)據(jù)庫(kù),用戶登錄界面,不同用戶權(quán)限不同,應(yīng)該怎么設(shè)置?

一、用access做一個(gè)數(shù)據(jù)庫(kù),用戶登錄界面,不同用戶權(quán)限不同用access做一個(gè)數(shù)據(jù)庫(kù),用戶登錄界面,不同用戶權(quán)限不同,應(yīng)該設(shè)置三張表:用戶表,...詳情>>

2023-10-13 10:57:31
MySQL InnoDB聚簇索引B+樹(shù)的階(m)是怎樣決定的?

一、MySQL InnoDB聚簇索引B+樹(shù)的階(m)是怎樣決定的1、頁(yè)的大小(Page Size)B+樹(shù)是以固定大小的頁(yè)(Page)為單位進(jìn)行存儲(chǔ)和操作的,頁(yè)是數(shù)據(jù)庫(kù)...詳情>>

2023-10-13 10:26:26
在 iPad 上運(yùn)行 Windows 是什么體驗(yàn)?

一、在 iPad 上運(yùn)行 Windows 是什么體驗(yàn)?zāi)壳笆忻嫔嫌幸恍┠軌蛟?iPad 上運(yùn)行 Windows 的應(yīng)用程序,例如 Parallels Access、Splash較好、VMware ...詳情>>

2023-10-13 10:18:47
app的啟動(dòng)流程都包括哪些步驟?

一、app的啟動(dòng)流程包括的步驟1、創(chuàng)建進(jìn)程App發(fā)起進(jìn)程:當(dāng)從桌面啟動(dòng)應(yīng)用,則發(fā)起進(jìn)程便是Launcher所在進(jìn)程;當(dāng)從某App內(nèi)啟動(dòng)遠(yuǎn)程進(jìn)程,則發(fā)送進(jìn)...詳情>>

2023-10-13 10:03:27
快速通道
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
亚洲色欧美在线影院 | 婷婷精品五月天在线观看 | 亚洲日韩中文字幕一级乱码在线播放 | 亚洲午夜福利院在线观看 | 强奷乱码中文字幕熟女网 | 久久精品国产72国产精 |