如何在 Tarantool SQL 中使用 sqrt 和 cos 函数?

我正在尝试使用这个公式来估算距离,但是当我在 Tarantool SQL 中尝试执行它时

box.execute [[SELECT "weight" + sqrt( cos("lat" - 12.31252) * ...]]

它显示:

函数 SQRT() 在 SQL 中不可用
函数 'COS' 不存在

如何使这些 函数 可用?

点赞
用户13626536
用户13626536

下面还没有作为tarantool SQL出厂设置的,但你可以使用box.schema.func.create来从SQL中调用任意的lua代码。以下是你需要进行的步骤:

box.schema.func.create(
  'COS', {
    returns="number",
    body="function (num) return math.cos(num) end",
    is_sandboxed=false,
    param_list={"number"},
    exports = {'LUA', 'SQL'}
  })

然后像这样调用它:

box.execute("SELECT cos(123)")

要了解更多信息,请参阅在SQL中调用Lua的文档

2020-12-20 21:03:37