at the moment July/2022 I am using the following script.
I have a few machines in azure, and sql server 2016,2017 and 2019.
set nocount on
DECLARE @version varchar(20)
SELECT @version = convert(varchar, serverproperty('ProductVersion'))
IF @version NOT LIKE '[0-9][0-9].%'
SELECT @version = '0' + @version
PRINT @version
IF @version < '09.00.3042'
RAISERROR('dbo.sp_showADGroups requires SQL Server 2005 SP2 or later', 16, 127)
select [version is] = @version,
@@VERSION
SELECT @Version=left(@Version,2)
SELECT [@Version]=@Version
IF @VERSION = '12'
PRINT 'We are in Azure'
ELSE
PRINT 'Not Azure'
SELECT SERVERPROPERTY('EngineEdition')
--this returns 8 in azure
-- this returns 2 in sql 2019
--this returns 3 in sql 2016
the query above returns the following - in azure: