Определение
Функция ST_AsBinary принимает объект геометрии и возвращает его WKB-представление.
Синтаксис
Oracle и PostgreSQL
sde.st_asbinary (geometry sde.st_geometry)
SQLite
st_asbinary (geometry geometryblob)
Тип возврата
Oracle и PostgreSQL
ST_Geometry
SQLite
Geometryblob
Пример:
В этом примере столбец WKB записи 1111 заполняется содержимым столбца GEOMETRY записи 1100.
Oracle
CREATE TABLE sample_points (
id integer not null,
geometry sde.st_geometry,
wkb blob
);
INSERT INTO SAMPLE_POINTS (id, geometry) VALUES (
1100,
sde.st_geometry ('point (10 20)', 4326)
);
INSERT INTO SAMPLE_POINTS (id, wkb) VALUES (
1111,
(SELECT sde.st_asbinary (geometry) FROM sample_points WHERE id = 1100)
);
SELECT id, sde.st_astext (sde.st_geomfromwkb (wkb, 4326))
FROM SAMPLE_POINTS
WHERE id = 1111;
ID Point
1111 POINT (10.00000000 20.00000000)
PostgreSQL
CREATE TABLE sample_points (
id serial,
geometry sde.st_geometry,
wkb bytea);
INSERT INTO sample_points (geometry) VALUES (
sde.st_point (10, 20, 4326)
);
INSERT INTO sample_points (wkb) VALUES (
(SELECT sde.st_asbinary (geometry) FROM sample_points WHERE id = 1100)
);
SELECT id, sde.st_astext (sde.st_geomfromwkb (wkb, 4326))
FROM sample_points
WHERE id = 1111;
ID st_astext
1111 POINT (10 20)
SQLite
CREATE TABLE sample_points (
id integer primary key autoincrement not null,
wkb blob
);
SELECT AddGeometryColumn(
NULL,
'sample_points',
'geometry',
4326,
'point',
'xy',
'null'
);
INSERT INTO sample_points (geometry) VALUES (
st_point (10, 20, 4326)
);
INSERT INTO sample_points (wkb) VALUES (
(SELECT st_asbinary (geometry) FROM sample_points WHERE id = 1)
);
SELECT id, st_astext (st_geomfromwkb (wkb, 4326))
FROM sample_points
WHERE id = 2;
ID st_astext
2 POINT (10.00000000 20.00000000)