This should give you everything you would ever want. I use it to populate several columns of my instance inventory table.
select
right((left(@@VERSION,25)),15) as 'ProductVersionName'
,SERVERPROPERTY('ProductLevel') AS 'ProductSpLevel'
,SERVERPROPERTY('ProductUpdateLevel') AS 'CumulativeUpdateLevel'
,SERVERPROPERTY('ProductUpdateReference')...