次の方法で共有


MinDbCompatibilityLevel (geography データ型)

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 との互換性をテストします。

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 データベース エンジンの旧バージョンとの互換性