La fonction de module dans Microsoft SQL Server ne fonctionne que sur certains types de données.Comment calculer le module d'un flottant dans TSQL?
Selon le MSDN article [1] sur l'opérateur de module, vous utiliseriez normalement module comme ça ...
dividend % divisor
dividend
Is the numeric expression to divide. dividend must be a valid
expression of any one of the data types in the integer and
monetary data type categories, or the numeric data type.
divisor
Is the numeric expression by which to divide the dividend.
divisor must be any valid expression of any one of the data
types in the integer and monetary data type categories, or
the numeric data type.
Cependant, cela ne fonctionne pas lorsque le dividende est un type de données float. La réponse que nous avons trouvée est listée ci-dessous pour référence future.
[1] http://msdn.microsoft.com/en-us/library/ms190279.aspx
C'est parce que si vous faites des calculs mathématiques vous ne devriez pas stocker des données dans le type float. C'est un type de données inexact et entraînera des problèmes d'arrondi. – HLGEM
Bon point. Je n'ai pas pensé au problème passé le message d'erreur. Merci pour ce peu de sagesse. –