ST_attrNullable
Updated at:
Returns true if a trajectory attribute field allows null values.
Syntax
bool ST_attrNullable(trajectory traj, integer index);
bool ST_attrNullable(trajectory traj, text name);Two overloads are available: query by attribute index or by attribute name.
Parameters
| Parameter | Type | Description |
|---|---|---|
traj | trajectory | The trajectory object. |
index | integer | The attribute index. |
name | text | The name of the attribute field. |
Examples
The following examples use a trajectory with five attributes: velocity (integer), speed (float), angle (string), tngel2 (timestamp), and bearing (bool). All attributes have nullable set to true.
Query by attribute name
With traj AS (
select '{"trajectory":{"version":1,"type":"STPOINT","leafcount":2,"start_time":"2010-01-01 11:30:00","end_time":"2010-01-01 12:30:00","spatial":"SRID=4326;LINESTRING(1 1,3 5)","timeline":["2010-01-01 11:30:00","2010-01-01 12:30:00"],"attributes":{"leafcount":2,"velocity":{"type":"integer","length":4,"nullable":true,"value":[1,null]},"speed":{"type":"float","length":8,"nullable":true,"value":[null,1.0]},"angle":{"type":"string","length":64,"nullable":true,"value":["test",null]}, "tngel2":{"type":"timestamp","length":8,"nullable":true,"value":["2010-01-01 12:30:00",null]},"bearing":{"type":"bool","length":1,"nullable":true,"value":[null,true]}}}}'::trajectory a)
Select st_attrNullable(a, 'velocity') from traj;
st_attrnullable
-----------------
t
(1 row)Query by attribute index
With traj AS (
select '{"trajectory":{"version":1,"type":"STPOINT","leafcount":2,"start_time":"2010-01-01 11:30:00","end_time":"2010-01-01 12:30:00","spatial":"SRID=4326;LINESTRING(1 1,3 5)","timeline":["2010-01-01 11:30:00","2010-01-01 12:30:00"],"attributes":{"leafcount":2,"velocity":{"type":"integer","length":4,"nullable":true,"value":[1,null]},"speed":{"type":"float","length":8,"nullable":true,"value":[null,1.0]},"angle":{"type":"string","length":64,"nullable":true,"value":["test",null]}, "tngel2":{"type":"timestamp","length":8,"nullable":true,"value":["2010-01-01 12:30:00",null]},"bearing":{"type":"bool","length":1,"nullable":true,"value":[null,true]}}}}'::trajectory a)
Select st_attrNullable(a, 1) from traj;
st_attrnullable
-----------------
t
(1 row)Both overloads return t: querying velocity by name and by index 1 produces the same result.
Is this page helpful?