次の方法で共有


MinDbCompatibilityLevel (geography データ型)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Microsoft Fabric SQL Database

geography データ型を認識する最小データベース互換性を返します。

構文

  
. MinDbCompatibilityLevel ( )  

戻り値の型

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 インスタンスの値の互換性をテストする

次の例では、2 つの 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 を返し、2 番目の SELECT ステートメントは 100 を返します。

参照

ALTER DATABASE 互換性レベル (Transact-SQL)
SQL Server データベース エンジンの旧バージョンとの互換性