Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SQL Server中创建忽略空值的计算几何体列_Sql_Sql Server_Null_Ssms_Geography - Fatal编程技术网

如何在SQL Server中创建忽略空值的计算几何体列

如何在SQL Server中创建忽略空值的计算几何体列,sql,sql-server,null,ssms,geography,Sql,Sql Server,Null,Ssms,Geography,我在SSMS 2017中有一个“站点”表,其中列为纬度和经度。我想添加一个基于纬度和经度值的地理数据类型的计算列。我使用了以下命令: ALTER TABLE Sites ADD Geo2 AS (geography::STGeomFromText('POINT(Sites.Latitude Sites.Longitude)', 4326)) 此命令成功完成,但当我尝试从表中选择*时,它返回屏幕截图中显示的错误。我怀疑这是因为某些站点没有Lat/Long数据(为空值)。有办法解决这个问

我在SSMS 2017中有一个“站点”表,其中列为纬度和经度。我想添加一个基于纬度和经度值的地理数据类型的计算列。我使用了以下命令:

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

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

首先尝试过滤这些值。大概是这样的:

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