Obtenir la valeur maximale de float dans SQL par programme
Est-il une méthode pour par programme (T-SQL) de récupérer le maximum (et minimum) de la valeur d'un type de données? Qu'il agirait comme flotteur.MaxValue en C#.
Je voudrais l'utiliser dans certaines de sélection lorsque le paramètre n'est égale à aucune des valeurs dans la base de données, donc je voudrais l'utiliser quelque chose comme
declare @min float
declare @max float
--fill @min and @max, can be null if undefined
select * from foo
where bar between isnull(@min,0 ) and isnull(@max,max(float)/*magic*/)
source d'informationauteur Axarydax
Vous devez vous connecter pour publier un commentaire.
Mais il ne semble pas être tout inline façon à obtenir le min ou le max des valeurs, il y a une solution quelqu'un les a mis ensemble:
Après cela, vous pouvez soit copier un maximum de valeur à une variable locale ou
(lors de l'utilisation de requêtes) jointure croisée avec ce tableau.
Ici sont les valeurs par défaut pour le flotteur et le type réel (ce qui manque dans l'acceptation de réponse):
Malheureusement, il n'est pas possible de les convertir d'un type varbinary, mais varchar fonctionne sans aucun problème.
Pour
float
etreal
la min et max valeurs peuvent être calculées à l'aide de laPOWER
fonction:Et ce sont les valeurs décimales:
C'est le nombre max de float valeur
Voici comment vous pouvez l'obtenir: