第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

檢查Postgres數(shù)組中是否存在值

檢查Postgres數(shù)組中是否存在值

我需要一種方法來(lái)測(cè)試給定數(shù)組中是否存在值。到目前為止,我想到了這樣的東西select '{1,2,3}'::int[] @> (ARRAY[]::int[] || value_variable::int)但我一直認(rèn)為應(yīng)該有一個(gè)更簡(jiǎn)單的方法,我只是看不到它。編輯:剛意識(shí)到我可以做到這一點(diǎn)select '{1,2,3}'::int[] @> ARRAY[value_variable::int]這要好得多,我相信就足夠了,但是如果您有其他方法可以做到,請(qǐng)分享。
查看完整描述

3 回答

?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

使用ANY構(gòu)造更簡(jiǎn)單:


SELECT value_variable = ANY ('{1,2,3}'::int[])

的右操作數(shù)ANY(括號(hào)之間)可以是一個(gè)組(子查詢(xún)的結(jié)果,例如) 或一個(gè)陣列。有幾種使用方法:


SQLAlchemy:如何篩選PgArray列類(lèi)型?

重要區(qū)別:數(shù)組運(yùn)算符(<@,@>等)將數(shù)組類(lèi)型期望為操作數(shù),并在PostgreSQL的標(biāo)準(zhǔn)發(fā)行版中支持GIN或GiST索引,而該ANY構(gòu)造將元素類(lèi)型期望為左操作數(shù),并且不支持這些索引。例:


用于在JSON數(shù)組中查找元素的索引

這些都不適合NULL元素。測(cè)試NULL:


檢查Postgres數(shù)組中是否存在NULL


查看完整回答
反對(duì) 回復(fù) 2019-11-26
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

當(dāng)心我陷入的陷阱:當(dāng)檢查數(shù)組中是否不存在某些值時(shí),您不應(yīng)該這樣做:


SELECT value_variable != ANY('{1,2,3}'::int[])

但是使用


SELECT value_variable != ALL('{1,2,3}'::int[])

代替。


查看完整回答
反對(duì) 回復(fù) 2019-11-26
?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

但是,如果您還有其他方法可以分享,請(qǐng)與我們分享。


您可以比較兩個(gè)數(shù)組。如果左側(cè)數(shù)組中的任何值與右側(cè)數(shù)組中的值重疊,則它將返回true。這有點(diǎn)駭人聽(tīng)聞,但確實(shí)有效。


SELECT '{1}'   && '{1,2,3}'::int[];  -- true

SELECT '{1,4}' && '{1,2,3}'::int[];  -- true

SELECT '{4}'   && '{1,2,3}'::int[];  -- false

在第一個(gè)和第二個(gè)查詢(xún)中,值1在正確的數(shù)組中

請(qǐng)注意,第二個(gè)查詢(xún)是true,即使該值4未包含在正確的數(shù)組中

對(duì)于第三個(gè)查詢(xún),左數(shù)組(即4)中沒(méi)有值在右數(shù)組中,因此它返回false


查看完整回答
反對(duì) 回復(fù) 2019-11-26
  • 3 回答
  • 0 關(guān)注
  • 3178 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)