Поделиться через


MinDbCompatibilityLevel (тип данных geography)

Возвращает минимальный уровень совместимости базы данных, при котором поддерживается тип данных geography.

Синтаксис

. MinDbCompatibilityLevel ( )

Возвращаемые типы данных

Возвращаемый тип SQL Server: int

Возвращаемый тип данных CLR: int

Замечания

Используйте MinDbCompatibilityLevel() для проверки пространственного объекта на совместимость, прежде чем менять уровень совместимости базы данных. Для недопустимых типов geography возвращается значение 110.

Примеры

А.Проверка типа CircularString на совместимость с уровнем совместимости 110

В следующем примере экземпляр 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

Б.Проверка типа LineString на совместимость с уровнем совместимости 100

В следующем примере экземпляр 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

В.Проверка значения экземпляра географического объекта на совместимость

В следующем примере показаны уровни совместимости для двух экземпляров 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 (Transact-SQL)

Другие ресурсы

Обратная совместимость компонента SQL Server Database Engine