All Products
Search
Document Center

ApsaraDB RDS:ST_AsTableFormat

Last Updated:Mar 28, 2026

Mengembalikan definisi tipe kolom suatu trajektori dalam bentuk teks untuk digunakan bersama ST_AsTable.

Sintaksis

text ST_AsTableFormat(trajectory traj);

Parameter

ParameterDeskripsi
trajObjek trajectory yang akan diperiksa.

Deskripsi

ST_AsTableFormat memeriksa objek trajectory dan mengembalikan string teks yang menjelaskan tata letak kolomnya — contohnya:

(t timestamp, x double precision, y double precision, sog real, cog integer, hdg integer, rot integer, status integer, is_satelite smallint, statictime integer)

Karena atribut trajectory bervariasi tergantung set data, tipe kolom untuk ST_AsTable tidak dapat ditentukan secara statis. Panggil ST_AsTableFormat terlebih dahulu untuk memperoleh definisi kolom aktual, lalu teruskan hasilnya ke ST_AsTable guna mengembangkan trajectory menjadi tabel relasional.

Contoh

Dapatkan definisi kolom suatu trajectory

Contoh berikut mengambil definisi tipe kolom dari objek trajectory.

SELECT ST_AsTableFormat(
  '{"trajectory":{"version":1,"type":"STPOINT","leafcount":1,
    "start_time":"2010-01-01 11:30:00","end_time":"2010-01-01 11:30:00",
    "spatial":"SRID=4326;POINT(1 1)","timeline":["2010-01-01 11:30:00"],
    "attributes":{"leafcount":1,
      "i1":{"type":"integer","length":1,"nullable":true,"value":[1]},
      "i2":{"type":"integer","length":2,"nullable":true,"value":[1]},
      "i4":{"type":"integer","length":4,"nullable":true,"value":[1]},
      "i8":{"type":"integer","length":8,"nullable":true,"value":[1]},
      "f4":{"type":"float","length":4,"nullable":true,"value":[1]},
      "f8":{"type":"float","length":8,"nullable":true,"value":[1]},
      "string":{"type":"string","length":10,"nullable":true,"value":["fat"]},
      "timestamp":{"type":"timestamp","length":8,"nullable":true,"value":["2010-01-01 11:30:00"]},
      "bool":{"type":"bool","length":1,"nullable":true,"value":["true"]}}}}'::trajectory
);
-- Result:
-- (t timestamp, x double precision, y double precision, i1 integer, i2 smallint,
--  i4 integer, i8 bigint, f4 real, f8 double precision, string text,
--  timestamp timestamp, bool boolean)

Output tersebut memetakan setiap atribut trajectory ke tipe kolom PostgreSQL-nya yang sesuai:

AtributTipe dalam trajectoryTipe kolom SQL
i1integer, length 1integer
i2integer, length 2smallint
i4integer, length 4integer
i8integer, length 8bigint
f4float, length 4real
f8float, length 8double precision
stringstringtext
timestamptimestamptimestamp
boolboolboolean

Kembangkan trajectory menjadi tabel

Contoh berikut menunjukkan alur kerja dua langkah lengkap: panggil ST_AsTableFormat untuk mendapatkan definisi kolom, lalu teruskan ke ST_AsTable guna mengembangkan trajectory menjadi tabel yang dapat dikueri.

Langkah 1. Dapatkan definisi kolom.

SELECT ST_AsTableFormat(traj) FROM table_name LIMIT 1;
-- Result:
-- (t timestamp, x double precision, y double precision, sog real, cog integer,
--  hdg integer, rot integer, status integer, is_satelite smallint, statictime integer)

Langkah 2. Gunakan definisi tersebut dalam ST_AsTable untuk mengembangkan trajectory.

SELECT f.*
FROM table_name,
     ST_AsTable(traj) AS f(
       t timestamp, x double precision, y double precision,
       sog real, cog integer, hdg integer, rot integer,
       status integer, is_satelite smallint, statictime integer
     );

Langkah selanjutnya

  • ST_AsTable — mengonversi trajectory menjadi tabel relasional menggunakan definisi kolom yang dikembalikan oleh ST_AsTableFormat