如何在 SQL 语句中使用 periods/full 停止键获取密钥?
How to get a key with periods/full stops in a SQL statement?
SQL 的新手。我正在尝试在 SQL 中实施 AWS 规则,如下所示:
SELECT *
FROM '$aws/things/RaspberryPi/shadow/update/accepted'
WHERE state.reported.moisture < 400
但我从这样的 json 中获取值,但我无法更改密钥:
{
"reported": {
"Q..1:3-1": "01",
"AI..4:1-1": "00F3",
"AI..4:3-1": "019E",
"AI..4:5-1": "00C7"
}
}
所以'state.reported.moisture'需要换成state.reported.AI..4:5-1.
我想做这样的事情:
SELECT *
FROM '$aws/things/RaspberryPi/shadow/update/accepted'
WHERE state.reported.'AI..4:5-1' < 400
只有这个不行。
如何在此 SQL 语句中插入这样的密钥?
提前致谢!
你可以像这样使用get命令:
SELECT *
FROM '$aws/things/logo_temp/shadow/update'
WHERE get(get(state,"reported"),"Q..1:3-1") = "01"
SQL 的新手。我正在尝试在 SQL 中实施 AWS 规则,如下所示:
SELECT *
FROM '$aws/things/RaspberryPi/shadow/update/accepted'
WHERE state.reported.moisture < 400
但我从这样的 json 中获取值,但我无法更改密钥:
{
"reported": {
"Q..1:3-1": "01",
"AI..4:1-1": "00F3",
"AI..4:3-1": "019E",
"AI..4:5-1": "00C7"
}
}
所以'state.reported.moisture'需要换成state.reported.AI..4:5-1.
我想做这样的事情:
SELECT *
FROM '$aws/things/RaspberryPi/shadow/update/accepted'
WHERE state.reported.'AI..4:5-1' < 400
只有这个不行。
如何在此 SQL 语句中插入这样的密钥?
提前致谢!
你可以像这样使用get命令:
SELECT *
FROM '$aws/things/logo_temp/shadow/update'
WHERE get(get(state,"reported"),"Q..1:3-1") = "01"