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

成品免费观看网站制作app软件多少钱

成品免费观看网站,制作app软件多少钱,直播系统源码,杰瑞网站建设PostgreSQL jsonb jsonb 函数以及操作符 在PostgreSQL中#xff0c;有许多用于处理JSONB数据类型的内置函数和操作符。下面列出了一些常用的JSONB函数和操作符#xff1a; jsonb_pretty(jsonb) 该函数将JSONB数据格式化为易读的多行字符串。jsonb_typeof(jsonb) 该函数返回…PostgreSQL jsonb jsonb 函数以及操作符 在PostgreSQL中有许多用于处理JSONB数据类型的内置函数和操作符。下面列出了一些常用的JSONB函数和操作符 jsonb_pretty(jsonb) 该函数将JSONB数据格式化为易读的多行字符串。jsonb_typeof(jsonb) 该函数返回给定JSONB值的类型例如字符串、数值、布尔值、数组、对象等。jsonb_array_length(jsonb) 该函数返回JSONB数组的长度。jsonb_extract_path(jsonb, VARIADIC text[]) 该函数按路径提取JSONB对象中的值。路径可以是一个或多个键名。使用VARIADIC关键字可以根据需要传递任意数量的路径参数。jsonb_extract_path_text(jsonb, VARIADIC text[]) 该函数与jsonb_extract_path相似但它返回提取的值作为文本。jsonb_insert(jsonb, text[], jsonb[, boolean]) 该函数在给定的路径位置插入一个新的JSONB值。jsonb_set(jsonb, text[], jsonb[, boolean]) 该函数在给定的路径位置更新JSONB值。jsonb_delete(jsonb, VARIADIC text[]) 该函数删除JSONB对象中指定路径的键和对应的值。jsonb_strip_nulls(jsonb) 该函数从JSONB对象中删除所有值为NULL的键值对。jsonb_agg(jsonb) 该函数将多个JSONB值聚合为一个JSONB数组。jsonb_array_elements(jsonb) 该函数用于将JSON数组转换为行集以便对数组中的每个元素进行操作with ordinality 用于在查询中返回一个带有索引的结果集row_number 是 PostgreSQL 中的一个窗口函数用于为查询结果集中的每一行分配一个唯一的序号 除了上述函数之外还有一些操作符可用于JSONB类型的操作 - 该操作符按键提取JSONB对象中的值。- 该操作符返回提取的值作为文本。# 该操作符按路径提取JSONB对象中的值。 该操作符检查JSONB对象是否包含指定的键路径。 该操作符检查JSONB对象是否包含指定的键-值对。 jsonb 功能示例 jsonb_set jsonb_set 是 PostgreSQL 中的一个函数用于修改 JSONB 类型的值。它可以用于更新 JSONB 对象中的指定路径上的值或者在指定路径上插入新的键值对。 以下是 jsonb_set 函数的使用说明 语法 jsonb_set(target jsonb, path text[], new_value jsonb[, create_missing boolean])参数说明 target要修改的 JSONB 值。path指定要修改的路径以数组形式表示。每个数组元素都是一个键或索引用于定位 JSONB 值的位置。例如[‘a’, ‘b’, ‘c’] 表示要修改的路径为 target-‘a’-‘b’-‘c’。new_value要设置的新值必须是一个合法的 JSONB 值。create_missing可选参数指定是否在路径上创建缺失的键。默认情况下如果路径上的键不存在则不会创建缺失的键。如果设置为 true则会创建缺失的键。 示例 假设有一个名为 data 的 JSONB 对象内容如下 {name: John,age: 30,address: {city: New York,country: USA} }我们想要将 data 对象中的 age 字段修改为 35可以使用以下 SQL 查询 UPDATE table_name SET data jsonb_set(data, {age}, 35::jsonb) WHERE id 1;执行以上查询后data 对象中的 age 字段将被修改为 35。 注意事项 jsonb_set 函数返回一个新的 JSONB 值并不会直接修改原始的 JSONB 值。如果需要更新原始的 JSONB 值需要将返回的新值赋值给原始的 JSONB 列或变量。jsonb_set 函数只能在 UPDATE 查询中使用并且只能用于修改 JSONB 类型的列或变量。jsonb_set 函数只能修改已经存在的键值对无法用于删除键或修改键的名称。如果需要删除键或修改键的名称可以使用 jsonb 类型的其他函数如 jsonb_remove 或 jsonb_set 结合 jsonb_delete。jsonb_set 函数也可以用于插入新的键值对如果指定的路径不存在且 create_missing 参数设置为 true。 问题: 函数 jsonb_set(jsonb, text, unknown, boolean) 不存在 select jsonb_set([{name: Product A, price: 100},{name: Product B, price: 200},{name: Product C, price: 300} ]::jsonb, {||1||}, {name: Product B, price: 400}, false)报错 错误: 函数 jsonb_set(jsonb, text, unknown, boolean) 不存在 LINE 1: select jsonb_set([^ HINT: 没有匹配指定名称和参数类型的函数. 您也许需要增加明确的类型转换.jsonb_set 语法 jsonb_set(target jsonb, path text[], new_value jsonb[, create_missing boolean]) 需要将动态拼接的path转换为etext[]类型 select jsonb_set([{name: Product A, price: 100},{name: Product B, price: 200},{name: Product C, price: 300} ]::jsonb, ({||1||})::text[], {name: Product B, price: 400}, false)jsonb_array_elements 在PostgreSQL中jsonb_array_elements函数用于将JSON数组拆分为多行。它返回一个包含数组元素的结果集每个元素都在单独的行中。 以下是使用jsonb_array_elements的示例 select jsonb_array_elements([{name: Product A, price: 100},{name: Product B, price: 200},{name: Product C, price: 300} ]::jsonb)结果 {name: Product A, price: 100} {name: Product B, price: 200} {name: Product C, price: 300}在这个例子中我们将一个包含三个JSON对象的数组传递给jsonb_array_elements函数。函数将返回一个结果集其中每个对象的属性都在单独的行中。 使用jsonb_array_elements的基本语法如下 SELECT * FROM jsonb_array_elements(json_array)json_array是一个包含JSON数组的表达式或列名。jsonb_array_elements将返回一个结果集其中每个数组元素都在单独的行中表示。 可以使用jsonb_array_elements函数的结果集进行进一步的操作例如过滤、聚合或与其他表进行连接。 请注意jsonb_array_elements函数只适用于JSON数组。如果传递给函数的表达式不是有效的JSON数组将会抛出错误。 使用jsonb_array_elements可以方便地处理JSON数组的元素使其更容易进行查询和处理。 with ordinality 在PostgreSQL中WITH ORDINALITY用于在查询中返回一个带有索引的结果集。它通常与jsonb_array_elements函数一起使用以获取带有索引的JSON数组元素。 以下是使用WITH ORDINALITY的示例 SELECT * FROM jsonb_array_elements([{name: Product A, price: 100}, {name: Product B, price: 200}, {name: Product C, price: 300}]::jsonb) WITH ORDINALITY AS arr(elem, idx);结果 elem | idx --------------------------------------------- {name: Product A, price: 100} | 1 {name: Product B, price: 200} | 2 {name: Product C, price: 300} | 3在这个例子中我们使用jsonb_array_elements函数从JSON数组中提取元素并使用WITH ORDINALITY将结果集中的每个元素的索引添加到idx列中。结果集将包含两列elem包含提取的元素idx包含索引值。 使用WITH ORDINALITY的语法如下 SELECT * FROM 表名 WITH ORDINALITYWITH ORDINALITY关键字必须紧跟在要返回的结果集之前并且只能在FROM子句中的函数或子查询中使用。 请注意WITH ORDINALITY只适用于返回多个结果的函数或子查询如jsonb_array_elements函数。对于返回单个结果的函数或子查询WITH ORDINALITY没有任何影响。 使用WITH ORDINALITY可以方便地处理需要索引的结果集特别是在处理数组或其他有序集合时非常有用。 row_number ROW_NUMBER() OVER()是在PostgreSQL中用于为查询结果中的每一行分配一个唯一的行号的窗口函数。它可以与OVER子句一起使用以定义行号的分区和排序方式。 语法 row_number() OVER (PARTITION BY column1, column2, ... ORDER BY column1, column2, ...)参数说明 PARTITION BY可选参数用于指定分组的列。如果指定了分组列则 row_number 函数将在每个分组内进行计数每个分组都从 1 开始递增。如果不指定则将整个结果集作为一个分组。 ORDER BY可选参数用于指定排序的列。如果指定了排序列则 row_number 函数将根据排序规则为每一行分配序号。如果不指定则按照查询结果集的顺序分配序号。 示例 假设有一个名为 users 的表包含以下列id、name、age。我们想要为每个用户分配一个序号按照年龄从小到大排序。 SELECT id, name, age, row_number() OVER (ORDER BY age) as row_num FROM users;执行以上查询后将返回一个包含 id、name、age、row_num 列的结果集其中 row_num 列为每个用户分配的序号。 注意事项 row_number 函数在查询结果集中的每一行都会计算一次因此可能会对查询的性能产生影响。如果不需要计算序号可以考虑使用其他窗口函数如 rank 或 dense_rank。row_number 函数返回的序号是可重复的即如果有多个行具有相同的排序值则它们可能会被分配相同的序号。如果需要确保序号唯一可以考虑使用 rank 或 dense_rank 函数。row_number 函数只能在 SELECT 查询中使用并且只能在窗口函数中使用。 jsonb 场景示例 1. 匹配数组中对象修改数组中未知索引对象的字段值 -- 创建示例表 CREATE TABLE products (id serial primary key,details jsonb );-- 插入示例数据 INSERT INTO products (details) VALUES ([{name: Product A, price: 100},{name: Product B, price: 200},{name: Product C, price: 300} ]::jsonb);-- 查看原始数据 SELECT * FROM products;-- 修改数组对象中对象字段值 UPDATE products SET details jsonb_set(details, ({|| (SELECT index-1 FROM (SELECT jsonb_array_elements(details) WITH ORDINALITY arr(elem, index)) AS sub WHERE elem - name Product B) ||, price})::text[], 400, false) WHERE details [{name: Product B}];-- 查看修改后的数据 SELECT * FROM products;
http://www.w-s-a.com/news/97799/

相关文章:

  • 维修网站怎么做移动互联网应用程序指的是什么
  • 张家界建设网站门户网站的建设原理
  • 企业通用网站模板湖南网站建设企业
  • 能看网站的视频app如何运行asp网站
  • 公司做网站还是做阿里好呢国外的旅游网站做的如何
  • 怎么做wep网站长沙seo排名公司
  • 海南网站网络推广做转运网站
  • 门户网站方案用户等待网站速度
  • 哈尔滨专业建网站方案深圳生活免费信息网
  • 检测网站是否被挂黑链wordpress 网址分享
  • 网站建设贵阳东莞网站建设策划
  • 网站5建设需要学什么桃城网站建设公司
  • 杭州外贸网站企业门户网站的安全性
  • 建设论坛网站需要做什么水果电商网站建设相关文献
  • 群晖 nas 做网站建设网站的报价
  • 白山做网站网站建设 app 优化
  • 畜牧业网站建设官方网站下载拼多多app
  • 网站规划和布局备案网站地址
  • 站长工具流量统计招工信息发布平台
  • 上海网站建设公司排行建设无障碍网站
  • phpcms网站打不开网页制作网站设计稿
  • 博客网站开发环境wordpress 中英文双语
  • 做网站报价表群辉装wordpress
  • 请人做游戏的网站视觉设计师的工作内容
  • 昆明网站建设知名企业博客网站开发
  • 如何做网站网页免费thinkphp网站后台模板
  • 怎么自己做优惠券网站济南小程序开发
  • 南昌网站专业制作做仿站如何获取网站源码
  • qq钓鱼网站wordpress 企业站模板
  • 推进文明网站建设免费设计公司logo设计