为什么我可以从JSONB值更新PostgreSQL列字符串而不是Sequel中的整数?

时间:2015-12-14 19:54:55

标签: ruby json postgresql sequel

我正在使用Sequel,我有一个带有JSONB哈希的表作为列,我希望从该哈希中获取其中一个值,并将其全部存储在表列中。这适用于字符串目标列:

j = Sequel.pg_jsonb_op(:metadata)
DB[:litigation_cached_inputs].update(description: j.get_text('Summary'))

我的litigation_cached_inputs表正在更新,以将描述字符串列设置为元数据JSONB列中摘要哈希键的值。

当我尝试做同样的事情,但目标列的{(1}})类型是整数时(与此处相反,nature_of_suit列是字符串类型) ,我收到错误:

description

为什么当我想提取字符串而不是整数时,这是否有效?

1 个答案:

答案 0 :(得分:0)

您需要转换该值,并且无法将jsonb直接转换为integer,您需要对text进行中间转换:j.extract('NatureOfSuitID').cast(String).cast(Integer)