写点什么

YashanDB ST_ASBINARY 函数

作者:YashanDB
  • 2025-05-08
    广东
  • 本文字数:1269 字

    阅读完需:约 4 分钟

ST_ASBINARY 函数根据输入的 geometry(box2d)和 byteorder,返回该 geometry(box2d 对应 geometry)的 WKB(Well-Known Binary)表示。

geometry

通用表达式,其值必须为有效的 ST_GEOMETRY 类型的数据。

box2d

通用表达式,其值必须为有效的 BOX2D 类型的数据。对于该参数,输出规则如下:

  • 如果 box2d 是一个点,则输出对应 POINT 的 WKB。

  • 如果 box2d 是一个线,则输出对应 LINESTRING 的 WKB。

  • 如果 box2d 是一个矩形,则输出对应 POLYGON 的 WKB。

  • 输出的 geometry 的 SRID 为 0。

byteorder

byteorder 表示输出结果的字节序,其值为 VARCHAR 类型,遵循如下规则:

  • 支持能够隐式转换成 VARCHAR 的数据类型。

  • "NDR"表示小端序,"XDR"表示大端序,不区分大小写,输入其他字符串则报错。

  • 该参数可以省略,省略时默认为编码使用服务器计算机字节序。

当输入的参数存在 NULL 时,函数返回 NULL,空串作为 NULL 处理。

示例(单机 HEAP 表)

--ST_GEOMFROMTEXT函数会根据给定的WKT和SRID返回一个ST_GEOMETRY数据--输出WKB不包含SRIDSELECT ST_AsBinary(ST_GeomFromText('POINT(1 2)')) res FROM DUAL;
RES ---------------------------------------------------------------- 0101000000000000000000F03F0000000000000040
SELECT ST_AsBinary(ST_GeomFromText('POINT(1 2)', 4326)) res FROM DUAL;
RES ---------------------------------------------------------------- 0101000000000000000000F03F0000000000000040
--大小端序SELECT ST_AsBinary(ST_GeomFromText('POINT(1 2)'), 'NDR') res FROM DUAL;
RES ---------------------------------------------------------------- 0101000000000000000000F03F0000000000000040
SELECT ST_AsBinary(ST_GeomFromText('POINT(1 2)'), 'XDR') res FROM DUAL;
RES ---------------------------------------------------------------- 00000000013FF00000000000004000000000000000 --box2d为点SELECT ST_AsBinary(BOX2D(1, 1, 2, 2)) res FROM DUAL;
RES----------------------------------------------------------------0101000000000000000000F03F0000000000000040
--box2d为线SELECT ST_AsBinary(BOX2D(1, 3, 2, 2)) res FROM DUAL;
RES----------------------------------------------------------------010200000002000000000000000000F03F000000000000004000000000000008400000000000000040
--box2d为矩形 SELECT ST_AsBinary(BOX2D(1, 3, 2, 3)) res FROM DUAL;
RES----------------------------------------------------------------01030000000100000005000000000000000000F03F0000000000000040000000000000F03F00000000000008400000000000000840000000000000084000000000000008400000000000000040000000000000F03F0000000000000040
复制代码


用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB ST_ASBINARY函数_YashanDB_InfoQ写作社区