MinDbCompatibilityLevel (geography Data Type)
Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance SQL database in Microsoft Fabric
Returns the minimum database compatibility that recognizes the geography data type.
Syntax
. MinDbCompatibilityLevel ( )
Return Types
SQL Server return type: int
CLR return type: int
Remarks
Use MinDbCompatibilityLevel()
to test a spatial object for compatibility before changing the compatibility level on a database. An invalid geography type returns 110.
Examples
A. Testing CircularString type for compatibility with compatibility level 110
The following example tests a CircularString
instance for compatibility with an earlier version of 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. Testing LineString type for compatibility with compatibility level 100
The following example tests a LineString
instance for compatibility with 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. Testing the value of a Geography instance for compatibility
The following example shows the compatibility levels for two geography
instances. One is smaller than a hemisphere and the other is larger than a hemisphere:
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
The first SELECT statement returns 110 and the second SELECT statement returns 100.
See Also
ALTER DATABASE Compatibility Level (Transact-SQL)
SQL Server Database Engine Backward Compatibility