将参数传递给查询
Elastic Stack Serverless
在查询条件中使用值(例如),或在 HAVING
语句中可以使用“内联”方式,通过将值集成到查询字符串本身
POST /_sql?format=txt
{
"query": "SELECT YEAR(release_date) AS year FROM library WHERE page_count > 300 AND author = 'Frank Herbert' GROUP BY year HAVING COUNT(*) > 0"
}
或者可以通过将值提取到单独的参数列表中,并在查询字符串中使用问号占位符 (?
) 来完成
POST /_sql?format=txt
{
"query": "SELECT YEAR(release_date) AS year FROM library WHERE page_count > ? AND author = ? GROUP BY year HAVING COUNT(*) > ?",
"params": [300, "Frank Herbert", 0]
}
重要提示
将值传递给查询的推荐方法是使用问号占位符,以避免任何黑客攻击或 SQL 注入的尝试。