MinDbCompatibilityLevel (тип данных geography)
Область применения: SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
базе данных SQL в Microsoft Fabric
Возвращает минимальный уровень совместимости базы данных, при котором поддерживается тип данных 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
B. Проверка типа LineString на совместимость с уровнем совместимости 100
В следующем примере проверяется 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
В. Проверка значения экземпляра географического объекта на совместимость
В следующем примере показаны уровни совместимости для двух экземпляров 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