我正在嘗試獲取欄位不為空的記錄。
例如,我的表中有一個 jsonb 列,如下所示
job_metadata jsonb DEFAULT '{}'::jsonb NOT NULL
我想獲取鍵 enqued_at 的 job_metadata 哈希記錄,這些記錄不為空。
我試過類似的東西
TimeBox.where.not('job_metadata @> ?', '{"enqueued_at": nil}')
但我得到了這樣的錯誤
PG::InvalidTextRepresentation: ERROR: invalid input syntax for type json
LINE 1: ... 38, 39, 40, 51, 52, 53, 32) AND (job_metadata @> '{"enqueued_at...
如何修復錯誤,或者如何獲取 job_metadata -> enqueued_at 不應該為 nil 的記錄?
uj5u.com熱心網友回復:
這應該有效。
TimeBox.where("(job_metadata->'enqueued_at') is not null")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/504854.html
標籤:轨道上的红宝石 PostgreSQL ruby-on-rails-3 where子句 jsonb
上一篇:如何將jsonb物件從Postgresql掃描到golang結構
下一篇:在SQL中重新格式化表
