如何编写查询:
where data @> '[{"id": "1884595530"}]'
在java中,假设1884595530是一个查询参数。我试过了
String sql = "where data @> '[{\"id\": :id}]'"
但它以错误结束:
enter code here
预期","或"]",找到":"。
答案 0 :(得分:0)
我不相信你需要让你的json字符串成为列表/数组。数据字段是jsonb吗?如果是这样,您应该能够执行以下操作:
// MARK: - UITableViewDelegate
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath)!
cell.accessoryType = UITableViewCellAccessoryType.checkmark
selectedRow = indexPath.row
}
override func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath)!
cell.accessoryType = UITableViewCellAccessoryType.none
}
// MARK: - UITableViewDataSource
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "cell")
// preventing selection style
cell.selectionStyle = UITableViewCellSelectionStyle.none
cell.textLabel?.text = "some text"
if (indexPath.row == selectedRow) {
cell.accessoryType = UITableViewCellAccessoryType.checkmark
// just wanted to make it selected, but it also can scroll to the selected position
tableView.selectRow(at: indexPath, animated: false, scrollPosition: UITableViewScrollPosition.none)
}
return cell
}
如果id是整数而不是字符串,则可能需要执行以下操作:
where data @> '{"id":"1884595530"}'::jsonb
http://dbfiddle.uk/?rdbms=postgres_9.6&fiddle=123b96326f463fbdc2e670a5146e2c0d