json - PostgreSQL-如何选择jsonb列数组对象值
问题描述
我面临一个关于选择 jsonb 列值的问题。我想在当天等于星期一时显示签入和签出时间数据。我试着用
SELECT name, dayp -> 'days' ->> 'Monday'
FROM attendanceprofile,
jsonb_array_elements(daysprofile) as dayp;
无法获得价值。
jsonb 列内的值为
[ {
"days": {
"Monday": {
"checkin": "7:00",
"checkout": "18:00"
},
"Tuesday": {
"checkin": "5:00",
"checkout": "16:00"
}
}
} ]
解决方案
如果你总是有一个元素(或者你总是希望从第一个元素中得到这个),你可以使用“路径运算符”选择这些值#>>
SELECT name,
daysprofile #>> '{0,days,Monday,checkin}' as checkin,
daysprofile #>> '{0,days,Monday,checkout}' as checkout
FROM attendanceprofile
推荐阅读
- dagger-hilt - 使用 Dagger Hilt 将 Fragment/Activity 绑定到 MVP View 合同
- identityserver4 - 使用身份服务器 4 和客户端凭据授予类型的基于角色的访问
- laravel - 多租户应用程序中的 Artisan::call('migrate') 错误:数据库主机数组为空
- xamarin - 如何使用 AppThemColor 更改 SearchBar 图标和下划线的颜色?
- translate - Angular 7 ngx-translate 在不刷新页面的情况下更改运行时转换
- magento2 - Magento 2过滤器在创建订单选择客户网格中具有自定义客户属性
- node.js - 在与具有自动缩放的节点服务器相同的服务器上实施弹性搜索服务是一个好主意吗?
- c# - 可拖动的嵌套 GridView Asp.Net JQuery
- sql - 一个简单的函数在一个模式中返回值但不是另一个模式
- elasticsearch - Elasticsearch:恢复已删除的索引