【发布时间】:2017-11-17 16:20:19
【问题描述】:
我们目前正在试用 JSONB 作为我们正在构建的系统中的订单数据的数据类型。由于文档相当大,这里是它的第一部分(重要的部分):
{
"appMessage": {
"order": {
"customerSurname": "Tyreus",
"shipment": {
"asnNumber": "CC56477332",
"shippingStore": "3321"
},
"orderNumber": "7991218655",
"propositionCollectionStoreNumber": "5656",
"collectionPointId": "4",
"customerFirstname": "Isaac",
"orderLine": [{
"collectionWindowFrom": "2017-01-18T09:00:00+00:00",
"lineNo": "1",
"skuNo": "7654321",
"createdDateTime": "2017-01-17T17:54:31+00:00",
我们面临的问题是在将通配符应用于数组中的某些内容时。使用上面的示例,我将如何进行通配符搜索以说出“检索所有 skuNo 以 7 开头的记录”?
在数组之外我测试了通配符,例如:
SELECT
*
FROM
ORDERS
WHERE
ORDER_DATA->'appMessage'->'message'->>'enterpriseCode' LIKE 'TU%';
成功了。但是一旦数组进入方程,一切就变得不清楚了......
任何帮助将不胜感激。
【问题讨论】:
标签: arrays json postgresql jsonb