为了避免使用临时表,我希望将一些数据存储为变量中的json数组并在其上进行连接。数据如下:
[
{
"CarID": "9",
"Tank": "11.4",
"Distance": "120",
"From": "Brussels",
"To": "Bruges"
},
{
"CarID": "22",
"Tank": "15.9",
"Distance": "70",
"From": "Eupen",
"To": "Cologne"
}
]
我想在mysql中将一个变量设置为该值,并能够执行如下操作:
SELECT
(
Cars.Consumption
* JSON_UNQUOTE(JSON_something('???','$.Distance'))
) - JSON_UNQUOTE(JSON_something('???','$.Tank')) AS neededRefuel
FROM Cars
WHERE JSON_SEARCH(
@myJson,
'one',
CAST(Cars.CarID AS JSON),
NULL,
'$[*].CarID'
) IS NOT NULL
这只是一个简单的例子。
显然json值作为整数在mysql中不容易检测,所以我设置了引号。
我想在视图中使用这种过滤器,所以临时表实际上不是一个选项。
使用mysql 8.0.11