如何在 SQL Server 中创建忽略 NULL 值的计算几何列
Posted
技术标签:
【中文标题】如何在 SQL Server 中创建忽略 NULL 值的计算几何列【英文标题】:How to create calculated Geometry column that ignores NULL values in SQL Server 【发布时间】:2021-05-19 17:44:19 【问题描述】:我有一个“站点”表,其中包含 SSMS 2017 中的纬度和经度列。我想添加一个基于纬度和经度值的地理数据类型的计算列。我用过这个命令:
ALTER TABLE Sites
ADD Geo2 AS (geography::STGeomFromText('POINT(Sites.Latitude Sites.Longitude)', 4326))
此命令成功完成,但是当我尝试从表中选择 * 时,它返回屏幕截图中显示的错误failed select command error message。我怀疑这是因为某些站点没有纬度/经度数据(是 NULL 值)。有没有办法解决这个问题?
【问题讨论】:
【参考方案1】:先尝试过滤值。像这样的:
ALTER TABLE Sites
ADD Geo2 AS IIF(Latitude IS NOT NULL AND Longitude IS NOT NULL, [geography]::Point(Longitude,Latitude,4326), NULL)
【讨论】:
以上是关于如何在 SQL Server 中创建忽略 NULL 值的计算几何列的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SQL Server Management Studio (2008) 在 SQL Server Compact Edition 中创建列