Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Fonction dans SQL Server 2008 similaire à GREATEST dans mysql ?

Pas dans SQL Server 2008 mais ces fonctions sont/seront enfin disponibles dans SQL Server (vraisemblablement SQL Server 2022)

les fonctions GREATEST et LEAST T-SQL sont désormais généralement disponibles dans Azure SQL Database, ainsi que dans Azure Synapse Analytics (pools SQL sans serveur uniquement) et Azure SQL Managed Instance.

Les fonctions seront également disponibles dans les prochaines versions de SQLServer.

Pour les versions précédentes, vous pouvez utiliser le fait qu'une sous-requête peut accéder aux colonnes de la requête externe afin que vous puissiez ajouter une sous-requête Sélection du max d'une union de ceux-ci.

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

Ou pour SQL Server 2000/2005

SELECT *, 
      (SELECT MAX(c) FROM 
                    (SELECT number AS c 
                     UNION ALL 
                     SELECT status) T) AS GreatestNumberOrStatus
FROM master..spt_values