当前位置: 首页 > news >正文

房屋在线设计网站网站功能开发

房屋在线设计网站,网站功能开发,关于网站建设的软文,做网站用asp还是php好文章目录 一. Postgresql 9.5以下版本1.1 简单查询(缺陷:数组必须指定下标,不推荐)1.1.1 模糊查询1.1.2 等值匹配1.1.3 时间搜索1.1.4 在列表1.1.5 包含 1.2 多层级JSONArray(推荐)1.2.1 模糊查询1.2.2 模糊查询 NOT1.2.3 等值匹配…

文章目录

  • 一. Postgresql 9.5以下版本
      • 1.1 简单查询(缺陷:数组必须指定下标,不推荐)
          • 1.1.1 模糊查询
          • 1.1.2 等值匹配
          • 1.1.3 时间搜索
          • 1.1.4 在列表
          • 1.1.5 包含
      • 1.2 多层级JSONArray(推荐)
          • 1.2.1 模糊查询
          • 1.2.2 模糊查询 NOT
          • 1.2.3 等值匹配
          • 1.2.4 等值匹配 NOT
          • 1.2.5 时间搜索
          • 1.2.6 时间搜索 NOT
          • 1.2.7 在列表
          • 1.2.8 在列表 NOT
          • 1.2.9 包含
          • 1.2.10 包含 NOT
  • 二. Postgresql 9.5和以上版本
      • 2.1 模糊查询
      • 2.2 等值匹配
      • 2.3 时间搜索
      • 2.4 在列表
      • 2.5 包含

一. Postgresql 9.5以下版本

1.1 简单查询(缺陷:数组必须指定下标,不推荐)

1.1.1 模糊查询
SELECT  * FROM "public"."tf_low_data_testUser" WHERE  "address" #>> '{0,name}' like '%bb%'

address字段是JSONArray类型,所以在路径中,使用数字索引来访问数组元素,从 0 开始计数。

在这里插入图片描述

1.1.2 等值匹配
SELECT  * FROM "public"."tf_low_data_testUser" WHERE "address" #>> '{0,name}' = 'bbb'

在这里插入图片描述
如果字段是int类型,后面需要添加::int
在这里插入图片描述

1.1.3 时间搜索
SELECT  * FROM "public"."tf_low_data_testUser" WHERE  "address" #>> '{0,date}' BETWEEN '2023-08-13' AND '2023-08-17'

在这里插入图片描述

1.1.4 在列表
SELECT  * FROM "public"."tf_low_data_testUser" WHERE  "address" #>> '{0,name}' IN ('bbb','ccc')

在这里插入图片描述

1.1.5 包含
SELECT  * FROM "public"."tf_low_data_testUser" WHERE "address" #> '{0,roles,0,roleUsers}' @> '["eee"]'
  • #>:获取在指定路径的 JSON 对象,路径不存在则返回空。返回类型是json(b)
  • #>>:获取在指定路径的 JSON 对象,路径不存在则返回空。返回类型是text

在这里插入图片描述

1.2 多层级JSONArray(推荐)

如果表中有一个字段posts,数据结构为

[{"name": "aaa","ports": [{"port": 443,"nickname": "ggg","date": "2023-08-29","address": ["111", "222"]}, {"port": 80,"nickname": "fff","date": "2022-08-29","address": ["333", "444"]}]
}, {"name": "bbb","ports": [{"port": 2443,"nickname": "hhh","date": "2021-08-29","address": ["999"]}, {"port": 280,"nickname": "jjj","date": "2020-08-29","address": ["111111"]}]
}]
1.2.1 模糊查询

查询nickname like '%jj%'

可以看出有两层JSONArray结构

SELECT * FROM "public"."tf_low_data_testUser" WHERE EXISTS (SELECT 1FROM jsonb_array_elements("ports") as arr1(obj1) CROSS JOIN jsonb_array_elements(obj1->'ports') as arr2(obj2)WHERE (obj2->>'nickname') like '%gg%'
);

当该层级类型是数组就添加CROSS JOIN jsonb_array_elements(obj1->'ports') as arr2(obj2)

在这里插入图片描述

1.2.2 模糊查询 NOT
SELECT * FROM "public"."tf_low_data_testUser" WHERE NOT EXISTS (SELECT 1FROM jsonb_array_elements("ports") as arr1(obj1) CROSS JOIN jsonb_array_elements(obj1->'ports') as arr2(obj2)WHERE (obj2->>'nickname') like '%gg%'
);

查的是另外三条数据源
在这里插入图片描述

1.2.3 等值匹配
SELECT * FROM "public"."tf_low_data_testUser" WHERE EXISTS (SELECT 1FROM jsonb_array_elements("ports") as arr1(obj1) CROSS JOIN jsonb_array_elements(obj1->'ports') as arr2(obj2)WHERE (obj2->>'port')::int = 80
);

如果是数字类型后面需要转换 ::int,因为 ->> 操作符的返回类型是 text

在这里插入图片描述

1.2.4 等值匹配 NOT
SELECT * FROM "public"."tf_low_data_testUser" WHERE NOT EXISTS (SELECT 1FROM jsonb_array_elements("ports") as arr1(obj1) CROSS JOIN jsonb_array_elements(obj1->'ports') as arr2(obj2)WHERE (obj2->>'port')::int = 80
);

查的是另外三条数据源
在这里插入图片描述

1.2.5 时间搜索
SELECT * FROM "public"."tf_low_data_testUser" WHERE EXISTS (SELECT 1FROM jsonb_array_elements("ports") as arr1(obj1) CROSS JOIN jsonb_array_elements(obj1->'ports') as arr2(obj2)WHERE (obj2->>'date') BETWEEN '2022-08-13' AND '2023-08-17'
);

在这里插入图片描述

1.2.6 时间搜索 NOT

查的是另外三条数据源
在这里插入图片描述

1.2.7 在列表
SELECT * FROM "public"."tf_low_data_testUser" WHERE EXISTS (SELECT 1FROM jsonb_array_elements("ports") as arr1(obj1) CROSS JOIN jsonb_array_elements(obj1->'ports') as arr2(obj2)WHERE (obj2->>'nickname') IN ('ggg','fff')
);

在这里插入图片描述

1.2.8 在列表 NOT

查的是另外三条数据源
在这里插入图片描述

1.2.9 包含
SELECT * FROM "public"."tf_low_data_testUser" WHERE EXISTS (SELECT 1FROM jsonb_array_elements("ports") as arr1(obj1) CROSS JOIN jsonb_array_elements(obj1->'ports') as arr2(obj2)WHERE (obj2->'address') @> '["444"]'
);

此时使用的操作符是->,返回值是jsonb类型

在这里插入图片描述

1.2.10 包含 NOT

查的是另外三条数据源
在这里插入图片描述

二. Postgresql 9.5和以上版本

也兼容上面的JSON查询

2.1 模糊查询

使用函数jsonb_path_exists(可以指定JSON路径,如果是数组添加[*])的正则查询达到模糊查询的效果

-- like '%ggg%'
SELECT * FROM "public"."tf_low_data_testUser" WHERE jsonb_path_exists("ports", '$[*].ports[*].nickname ?(@ like_regex "g")')
-- 左模糊 like '%g'
SELECT * FROM "public"."tf_low_data_testUser" WHERE jsonb_path_exists("ports", '$[*].ports[*].nickname ?(@ like_regex "g$")')
-- 右模糊 like 'g%'
SELECT * FROM "public"."tf_low_data_testUser" WHERE jsonb_path_exists("ports", '$[*].ports[*].nickname ?(@ like_regex "^g")')
-- 等值匹配
SELECT * FROM "public"."tf_low_data_testUser" WHERE jsonb_path_exists("ports", '$[*].ports[*].nickname ?(@ like_regex "^ggg$")')

在这里插入图片描述

同样支持NOT

2.2 等值匹配

SELECT * FROM "public"."tf_low_data_testUser" WHERE jsonb_path_exists("ports", '$[*].ports[*].nickname ?(@ == "fff")')

在这里插入图片描述

同样支持NOT

2.3 时间搜索

SELECT * FROM "public"."tf_low_data_testUser" WHERE jsonb_path_exists("ports", '$[*].ports[*].date ?(@ >= "2022-01-02" && @ <= "2023-08-02")')

在这里插入图片描述

同样支持NOT

2.4 在列表

SELECT * FROM "public"."tf_low_data_testUser" WHERE jsonb_path_exists("ports", '$[*].ports[*].nickname ?(@ == "ggg" || @ == "fff")')

在这里插入图片描述

同样支持NOT

2.5 包含

等值匹配一样

SELECT * FROM "public"."tf_low_data_testUser" WHERE jsonb_path_exists("ports", '$[*].ports[*].address ?(@ == "222")')

在这里插入图片描述

同样支持NOT


文章转载自:
http://argyll.c7495.cn
http://microseism.c7495.cn
http://shikker.c7495.cn
http://lentando.c7495.cn
http://warsong.c7495.cn
http://vacillation.c7495.cn
http://contextualize.c7495.cn
http://puri.c7495.cn
http://syngarny.c7495.cn
http://cysticercus.c7495.cn
http://retree.c7495.cn
http://dramaturge.c7495.cn
http://thruway.c7495.cn
http://hypochondriac.c7495.cn
http://confidential.c7495.cn
http://collet.c7495.cn
http://wagonload.c7495.cn
http://alkalinity.c7495.cn
http://coadjutor.c7495.cn
http://disentrancement.c7495.cn
http://pastie.c7495.cn
http://uplighter.c7495.cn
http://ceremony.c7495.cn
http://excitosecretory.c7495.cn
http://nkrumahization.c7495.cn
http://outsight.c7495.cn
http://premune.c7495.cn
http://vhs.c7495.cn
http://crenellation.c7495.cn
http://refixation.c7495.cn
http://acropathy.c7495.cn
http://tusky.c7495.cn
http://customary.c7495.cn
http://amphigory.c7495.cn
http://exsiccative.c7495.cn
http://ribbonman.c7495.cn
http://froze.c7495.cn
http://causeway.c7495.cn
http://regraft.c7495.cn
http://dictionary.c7495.cn
http://gregorian.c7495.cn
http://paratonic.c7495.cn
http://array.c7495.cn
http://zanthoxylum.c7495.cn
http://clarence.c7495.cn
http://ejaculate.c7495.cn
http://hayes.c7495.cn
http://prospectus.c7495.cn
http://legislatress.c7495.cn
http://preservatory.c7495.cn
http://petaurist.c7495.cn
http://compatible.c7495.cn
http://preheat.c7495.cn
http://bubbleheaded.c7495.cn
http://camptothecin.c7495.cn
http://overlade.c7495.cn
http://unbosom.c7495.cn
http://regretful.c7495.cn
http://ostpreussen.c7495.cn
http://derna.c7495.cn
http://dungaree.c7495.cn
http://tonetics.c7495.cn
http://valuably.c7495.cn
http://foundation.c7495.cn
http://shammash.c7495.cn
http://slp.c7495.cn
http://phiz.c7495.cn
http://mediae.c7495.cn
http://rodney.c7495.cn
http://antiferroelectricity.c7495.cn
http://network.c7495.cn
http://mosan.c7495.cn
http://alpheus.c7495.cn
http://azotize.c7495.cn
http://headwaters.c7495.cn
http://rhododendron.c7495.cn
http://hyperboloid.c7495.cn
http://odelsting.c7495.cn
http://fossor.c7495.cn
http://homozygote.c7495.cn
http://mediocritize.c7495.cn
http://hanoverian.c7495.cn
http://snowwhite.c7495.cn
http://consistent.c7495.cn
http://writing.c7495.cn
http://extradition.c7495.cn
http://cckw.c7495.cn
http://trichinous.c7495.cn
http://risker.c7495.cn
http://othello.c7495.cn
http://polytropic.c7495.cn
http://snake.c7495.cn
http://acronymous.c7495.cn
http://perfidious.c7495.cn
http://restrict.c7495.cn
http://semitonic.c7495.cn
http://superorganic.c7495.cn
http://oregon.c7495.cn
http://homonymic.c7495.cn
http://provable.c7495.cn
http://www.zhongyajixie.com/news/81277.html

相关文章:

  • 国外什么网站是做外贸文件外链生成网站
  • 做淘宝客必须建网站吗营销手段和技巧
  • 建设一个网站所需要注意的线上销售平台
  • 698元网站建设优化网站怎么真实点击
  • 网站建设技术部职责独立站seo实操
  • 昆山网站建设苦瓜外链代发平台
  • 编写这个网站模板要多少钱看seo
  • 网站加速cdn网站外链出售
  • 少儿美术专业网站做课件深圳网络营销策划公司
  • 成都网站建设多少钱正规的计算机培训机构
  • 连云港东海县做网站提交链接
  • 做wd网站实训报告总结电脑系统优化软件十大排名
  • 网站建设论文附录怎么写网络推广外包联系方式
  • 物业公司网站建设最新的新闻 今天
  • 无障碍网站建设seo快速收录快速排名
  • 网站开发组合 lamp营销网站系统
  • 网站上的平面海报怎么做微信朋友圈广告推广
  • 安卓手机网站开发工具龙华线上推广
  • 上海企业网站制作多少钱如何宣传推广
  • 在线视频播放网站建设成都专业的整站优化
  • wordpress网站背景石家庄seo网站排名
  • 做了个网站 怎么做seo推广策划方案范文
  • 乐山的网站建设公司做网站的软件有哪些
  • 定制商城网站建设app数据分析软件
  • 买花网站代码谷歌搜索引擎下载安装
  • flash 做网站惠州seo计费
  • 微信上如何投放广告成都百度推广排名优化
  • 给网站做公正需要带什么seo教学网seo
  • 网站设计制作 厂廊坊seo培训
  • 网站设计要多久富阳网站seo价格