This is an example to detect Windows version from TSQL query
DECLARE @msver TABLE (t_index NVARCHAR(100), t_name NVARCHAR(100), t_ivalue NVARCHAR(100), t_cvalue NVARCHAR(100));
INSERT INTO @msver EXEC xp_msver 'WindowsVersion';
DECLARE @OSVersion VARCHAR(MAX)
DECLARE @LPOS INT
DECLARE @RPOS INT
SELECT @OSVersion = t_cvalue FROM @msver WHERE t_name = 'WindowsVersion'
SET @LPOS = CHARINDEX('(', @OSVersion) + 1
SET @RPOS = CHARINDEX(')', @OSVersion)
SELECT @OSVersion = SUBSTRING(@OSVersion, @LPOS, @RPOS-@LPOS)
SELECT CASE
WHEN @OSVersion = 17763 THEN 'Windows Server 2019'
WHEN @OSVersion = 14393 THEN 'Windows Server 2016'
WHEN @OSVersion = 9600 THEN 'Windows Server 2012 R2'
WHEN @OSVersion = 9200 THEN 'Windows Server 2012'
WHEN @OSVersion = 7601 THEN 'Windows Server 2008 R2'
WHEN @OSVersion = 6003 THEN 'Windows Server 2008'
ELSE 'No OS detected'
END AS [Version]