SQL Server 2008中的功能与mysql中的GREATEST类似?

我想找到多个列的最大值.

MySQL支持GREATEST功能,但sql Server不支持.

sql Server 2008中有没有类似的功能

解决方法

但是,子查询可以访问外部查询中的列,因此您可以添加一个查询UNION将所有感兴趣的列作为派生表,然后从中选择最大值.
SELECT *,(SELECT MAX(c) FROM 
                    (SELECT number AS c 
                     UNION ALL 
                     SELECT status) T) AS GreatestNumberOrStatus
FROM master..spt_values

或者像2008年一样简洁的版本.

SELECT *,(SELECT MAX(c) FROM (VALUES(number),(status)) T (c)) AS Greatest
FROM master..spt_values

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...