MinDbCompatibilityLevel(geography 数据类型)

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例

返回识别 geography 数据类型的最基本的数据库兼容级别

语法

  
. MinDbCompatibilityLevel ( )  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

返回类型

SQL Server 返回类型:int

CLR 返回类型:int

备注

在更改数据库的兼容级别之前应使用 MinDbCompatibilityLevel() 测试空间对象的兼容性。 无效的 geography 类型返回 110

示例

A. 在兼容级别为 110 的情况下测试 CircularString 类型是否兼容

下面的示例测试 CircularString 实例是否与较早版本的 SQL Server 兼容:

DECLARE @g geometry = 'CIRCULARSTRING(-120.533 46.566, -118.283 46.1, -122.3 47.45)';  
IF @g.MinDbCompatibilityLevel() <= 110  
BEGIN  
    SELECT @g.ToString();  
END  

B. 在兼容级别为 100 的情况下测试 LineString 类型是否兼容

下面的示例测试 LineString 实例是否与 SQL Server 2008 (10.0.x) 兼容:

DECLARE @g geometry = 'LINESTRING(-120.533 46.566, -118.283 46.1, -122.3 47.45)';  
IF @g.MinDbCompatibilityLevel() <= 100  
BEGIN  
    SELECT @g.ToString();  
END  

C. 测试 Geography 实例的值是否兼容

下面的示例说明两个 geography 实例的兼容级别。 一个小于半球,另一个大于半球:

DECLARE @g geography = geography::Parse('POLYGON((0 -10, 120 -10, 240 -10, 0 -10))');  
DECLARE @h geography = geography::Parse('POLYGON((0 10, 120 10, 240 10, 0 10))');  
IF (@g.EnvelopeAngle() >= 90)  
BEGIN  
SELECT @g.MinDbCompatibilityLevel();  
END     
IF (@h.EnvelopeAngle() < 90)  
BEGIN  
SELECT @h.MinDbCompatibilityLevel();  
END  

第一个 SELECT 语句返回 110,第二个 SELECT 语句返回 100。

另请参阅

ALTER DATABASE Compatibility Level (Transact-SQL)
SQL Server 数据库引擎的后向兼容性