Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcja CEIL() w Oracle

W Oracle CEIL() funkcja zwraca najmniejszą liczbę całkowitą, która jest większa lub równa jej argumentowi.

Składnia

Składnia wygląda tak:

CEIL(n)

Gdzie n może być dowolnym liczbowym typem danych lub dowolnym nienumerycznym typem danych, który można niejawnie przekonwertować na numeryczny typ danych.

Przykład

Oto przykład:

SELECT CEIL(7.15)
FROM DUAL;

Wynik:

   CEIL(7.15) 
_____________ 
            8

Przekazanie wartości ujemnej daje następujący wynik:

SELECT CEIL(-7.15)
FROM DUAL;

Wynik:

   CEIL(-7.15) 
______________ 
            -7 

W porównaniu z ROUND()

CEIL() funkcja jest inna niż ROUND() funkcjonować. ROUND() funkcja zaokrągla liczbę w dół w niektórych przypadkach, podczas gdy CEIL() zawsze zwraca najmniejszą liczbę całkowitą, większą lub równą jej argumentowi.

SELECT 
    CEIL(7.15),
    ROUND(7.15)
FROM DUAL;

Wynik:

   CEIL(7.15)    ROUND(7.15) 
_____________ ______________ 
            8              7 

Również ROUND() pozwala nam określić liczbę miejsc po przecinku do zaokrąglenia:

SELECT 
    CEIL(7.15),
    ROUND(7.15, 1)
FROM DUAL;

Wynik:

   CEIL(7.15)    ROUND(7.15,1) 
_____________ ________________ 
            8              7.2 

Argument nieliczbowy

Argumentem może być dowolny numeryczny typ danych lub dowolny nienumeryczny typ danych, który można niejawnie przekonwertować na numeryczny typ danych.

Oto, co się dzieje, gdy dostarczamy nieliczbowy argument, którego nie można przekonwertować na liczbowy typ danych:

SELECT CEIL('Oops!')
FROM DUAL;

Wynik:

Error starting at line : 1 in command -
SELECT CEIL('Oops!')
FROM DUAL
Error report -
ORA-01722: invalid number

Wartości puste

Przekazywanie null do CEIL() zwraca null :

SET NULL 'null';

SELECT CEIL(null)
FROM DUAL;

Wynik:

   CEIL(NULL) 
_____________ 
         null 

Domyślnie SQLcl i SQL*Plus zwracają spację, gdy null występuje w wyniku polecenia SQL SELECT oświadczenie.

Możesz jednak użyć SET NULL aby określić inny ciąg do zwrócenia. Tutaj określiłem, że ciąg null należy zwrócić.

Nieprawidłowa liczba argumentów

Wywołanie CEIL() bez przekazywania żadnych argumentów zwraca błąd:

SELECT CEIL()
FROM DUAL;

Wynik:

Error starting at line : 1 in command -
SELECT CEIL()
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

A przekazanie niewłaściwej liczby argumentów skutkuje błędem:

SELECT CEIL(1, 2)
FROM DUAL;

Wynik:

Error starting at line : 1 in command -
SELECT CEIL(1, 2)
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

Oracle ma również funkcję FLOOR() funkcja, która zwraca największą liczbę całkowitą równą lub mniejszą od jej argumentu.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyświetlanie komunikatów okna modalnego w formularzach Oracle za pomocą Show_Alert

  2. Opowieść o dwóch czynnikach klastrowania

  3. Zły tryb gotowości

  4. Konwertuj z daty na epokę-Oracle

  5. interwał formatu z to_char