python - 初始化几何类型的空列的合适值是多少

标签 python sql postgresql postgis

我想为一个几何列设置一个默认值,表示它为 null 或空。例如,一个字符串最初被初始化为 null 或 ""以指示它是 void/empty。什么相当于几何体的 null/empty。 几何列的值是多少表示它是空的。我尝试了 0"" 但不允许将它们插入几何类型的列中

最佳答案

添加 DEFAULT到具有空几何的几何列,例如对于 POINT :

CREATE TABLE t (
  id int,
  geom geometry(point,4326) NOT NULL DEFAULT 'POINT EMPTY'
);

它也适用于其他几何类型(及其 ZM 扩展),例如:

SELECT 
  'POINT EMPTY'::geometry,
  'POLYGON EMPTY'::geometry,
  'LINESTRING EMPTY'::geometry,
  'MULTILINESTRING EMPTY'::geometry,
  'MULTIPOLYGON EMPTY'::geometry,
  'MULTIPOINT EMPTY'::geometry,
  'POLYHEDRALSURFACE EMPTY'::geometry,
  'TRIANGLE EMPTY'::geometry,
  'TIN EMPTY'::geometry,
  'GEOMETRYCOLLECTION EMPTY'::geometry;

-[ RECORD 1 ]----------------------------------------
geometry | 0101000000000000000000F87F000000000000F87F
geometry | 010300000000000000
geometry | 010200000000000000
geometry | 010500000000000000
geometry | 010600000000000000
geometry | 010400000000000000
geometry | 010F00000000000000
geometry | 011100000000000000
geometry | 011000000000000000
geometry | 010700000000000000

演示: db<>fiddle

关于python - 初始化几何类型的空列的合适值是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69940446/

相关文章:

python - hvplot.box 中的不同颜色

node.js - sails postgresql 多对多关联不起作用

python - 尝试 pip install flask 时解释器不好

python - 通过 Python 脚本使用 mongo --eval 命令时未评估

sql - Oracle 上 SELECT * 和 SELECT COUNT(*) 之间的不同结果大小

sql - SQL Server 上的死锁跟踪

java - 如何对 postgresql 表中与输入值匹配或与任何其他匹配行中的值匹配的行进行聚类?

java - 如何处理过大的 Spring Batch 步骤执行上下文?

sql - Postgres - 如何在更新子查询中引用外部表?

python - 将字典的值拆分为单独的 Pandas 数据框列——使它们成为虚拟的