Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

TSQL Zaokrągla liczbę dziesiętną w górę

DECLARE @Test TABLE (Col NUMERIC(38,12));

INSERT  @Test (Col)
SELECT 0.581183781439 
UNION ALL
SELECT 0.5815
UNION ALL
SELECT 0.581883781439
UNION ALL
SELECT -0.581883781439;

SELECT Col AS [Col],
    ROUND(Col, 3) AS StandardRounding_3decimals,
    ROUND(Col, 3, 1) AS Truncation_3decimals,
    FLOOR(Col*1000)/1000 AS RoundDown_3decimals,
    CEILING(Col*1000)/1000  AS RoundUp_3decimals 
FROM @Test;

Wyniki:

Col             StandardRounding_3decimals Truncation_3decimals RoundDown_3decimals RoundUp_3decimals
--------------- -------------------------- -------------------- ------------------- -----------------
0.581183781439  0.581000000000             0.581000000000       0.581000            0.582000
0.581500000000  0.582000000000             0.581000000000       0.581000            0.582000
0.581883781439  0.582000000000             0.581000000000       0.581000            0.582000
-0.581883781439 -0.582000000000            -0.581000000000      -0.582000           -0.581000


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można skompilować składnika SSIS; Brakujący zespół w Visual Studio 2008

  2. Funkcja SUM() w SQL Server

  3. SQL grupujący podobne wartości

  4. Zwróć wszystkie wyłączone ograniczenia w programie SQL Server (przykład T-SQL)

  5. Jak sprawdzić istnienie typu tabeli definiowanej przez użytkownika w SQL Server 2008?