Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PostgreSQL中按值动态选择或筛选JSON字段_Json_Postgresql - Fatal编程技术网

在PostgreSQL中按值动态选择或筛选JSON字段

在PostgreSQL中按值动态选择或筛选JSON字段,json,postgresql,Json,Postgresql,表中有JSON列,我可以选择嵌套属性,如 SELECT '{"monday": 123}'::json->>'monday'; --> returns 123 …但是如果我想动态选择属性,它就不起作用了 SELECT '{"monday": 123}'::json->>to_char(now() AT TIME ZONE 'Pacific/Yap', 'day'); --> returns null 甚至有可能实现吗 谢谢大家! 您需要在day关键字中添加

表中有JSON列,我可以选择嵌套属性,如

SELECT '{"monday": 123}'::json->>'monday'; --> returns 123
…但是如果我想动态选择属性,它就不起作用了

SELECT '{"monday": 123}'::json->>to_char(now() AT TIME ZONE 'Pacific/Yap', 'day'); --> returns null
甚至有可能实现吗


谢谢大家!

您需要在day关键字中添加
FM
前缀
to_char(…,'day')
具有固定大小,这意味着在
monday
之后有尾随空格。
FM
前缀将删除它们:


在整个表达式周围可能还需要一个
lower()
SELECT '{"monday": 123}'::json ->> to_char(now() AT TIME ZONE 'Pacific/Yap', 'FMday')