If you don't want to user server property...then you can use @@version or xp_msver use temp table and/or CHARINDEX function to get the info...
Ex:
create table #versioninfo
(
[Index] varchar(5),
[Name] varchar(20),
Internal_Value varchar(10),
Character_Value varchar(120)
)
insert into #versioninfo exec ('xp_msver')
declare @sqlver varchar(10),
@winver varchar(10),
@cpuspeedcount varchar(3),
@Memory varchar(4),
@currentEditonstart varchar(3),
@Editionlength varchar(3),
@installdatestart varchar(10)
select Character_Value as ProductVersion, left(@@servername, 25) as 'SQL_server_name' from #versioninfo where Name in( 'ProductVersion')
-- (select Character_Value from #versioninfo where Name = 'WindowsVersion')
-- (select Internal_Value from #versioninfo where Name = 'ProcessorCount')
-- (select Internal_Value from #versioninfo where Name = 'PhysicalMemory')
create table #searchstring (location varchar(3))
insert into #searchstring values (charindex('Standard', @@version))
insert into #searchstring values (charindex('Enterprise', @@version))
insert into #searchstring values (charindex('Developer', @@version))
insert into #searchstring values (charindex('Personal', @@version))
insert into #searchstring values (charindex('desktop', @@version))
set @currentEditonstart = (select * from #searchstring where location > 0)
set @Editionlength = charindex('Edition', @@version) - @currentEditonstart + 7
set @sqlver = (select Character_Value from #versioninfo where Name = 'ProductVersion')
SELECT left(@@servername, 25) as 'SQL_server_name' , @@VERSION,
left(substring(@@version, cast( @currentEditonstart as int), cast( @Editionlength as int)), 20) + ')' AS 'SQL_server_Edition',
substring (@sqlver, 6, 4) + ')' as 'SQL_SP (Bld.)'
MohammedU.
Microsoft SQL Server MVP
Moderator
SQL-Server-Performance.com
All postings are provided “AS IS” with no warranties for accuracy.