mariadb 查询特里诺不支持的数据类型

eanckbw9  于 2022-12-04  发布在  其他
关注(0)|答案(1)|浏览(183)

我使用特里诺来使用MariaDB表中数据。
我在此表中有一个特定的列,其中包含地理数据(点数据https://mariadb.com/kb/en/geometry-types/)。查询源,数据如下所示:
第一个
但特里诺(https://trino.io/docs/current/connector/mariadb.html)不支持此类数据
我只需要POINT(x,y)中的值(x,y)。
文档中有一个unsupported-type-handling=CONVERT_TO_VARCHAR标志,但当我使用它时,检索到的数据如下所示:

location                 
-------------------------
         �Q�GHJk ���*@
         �{���GMg'���(@
         0�Z¶nK@�B< / @

我在这个varchar上测试了很多转换,但是没有一个工作得很好。那么我如何使用特里诺获得这种数据类型呢?

goucqfw6

goucqfw61#

数据类型不是文本,因此转换它不会有帮助
只要natve函数返回允许的数据类型,您就可以将其用于myriadb。
表格函数
连接器提供特定的表函数来访问MariaDB。query(varchar)-〉table#
查询函数允许您直接查询底层数据库。它需要MariaDB的原生语法,因为完整的查询在MariaDB中下推和处理。这对于访问特里诺中没有的原生功能或在原生运行查询可能更快的情况下提高查询性能非常有用。
因此可以使用如下查询

SELECT
  X,Y
FROM
  TABLE(
    mariadb.system.query(
      query => 'SELECT
        ST_X(loacation) as X,
        ST_Y/location) As Y
      FROM
        mytable'
    )
  );

相关问题