如何在 SQL 服务器中创建忽略 NULL 值的计算几何列

How to create calculated Geometry column that ignores NULL values in SQL Server

我有一个 'Sites' table,其中包含 SSMS 2017 中的纬度和经度列。我想添加一个基于纬度和经度值的地理数据类型的计算列。我用过这个命令:

ALTER TABLE Sites 
    ADD Geo2 AS (geography::STGeomFromText('POINT(Sites.Latitude Sites.Longitude)', 4326))

此命令成功完成,但是当我尝试从 table select * 时,它 returns 屏幕截图中显示的错误 failed select command error message。我怀疑这是因为某些站点没有 Lat/Long 数据(是 NULL 值)。有办法解决这个问题吗?

先尝试过滤值。像这样:

ALTER TABLE Sites 
 ADD Geo2 AS IIF(Latitude  IS NOT NULL AND Longitude IS NOT NULL, [geography]::Point(Longitude,Latitude,4326), NULL)