2017-03-29 2 views
0

J'ai besoin d'un moyen de contourner T-SQL (SQL Server 2005).Cas spéciaux T-SQL round

0.0041 -> 0.005 
0.0049 -> 0.005 
0.0040 -> 0.004 

J'ai essayé ce qui suit select avec ROUND():

SELECT ROUND(0.004, 3,1) + .001 

Le problème est le suivant: il ne fonctionne pas avec 0,0040 -> 0,004

Répondre

2

Ce:

SELECT CEILING(1000 * 0.0041)/1000.0 

produit:

0.005 

alors ceci:

SELECT CEILING(1000 * 0.004)/1000.0 

produit:

0.004 
1

Essayez ceci:

SELECT X 
, CEILING(X * 1000)/1000 AS X4 
FROM (
SELECT 0.0041 X UNION ALL 
SELECT 0.0049 UNION ALL 
SELECT 0.0040) A 

Sortie:

X          X4 
--------------------------------------- --------------------------------------- 
0.0041         0.005000 
0.0049         0.005000 
0.0040         0.004000