Oracle
 sql >> база данни >  >> RDS >> Oracle

Функция CEIL() в Oracle

В Oracle, CEIL() функцията връща най-малкото цяло число, което е по-голямо или равно на нейния аргумент.

Синтаксис

Синтаксисът е така:

CEIL(n)

Където n може да бъде всеки числов тип данни или всеки нечисловен тип данни, който може да бъде имплицитно преобразуван в числов тип данни.

Пример

Ето един пример:

SELECT CEIL(7.15)
FROM DUAL;

Резултат:

   CEIL(7.15) 
_____________ 
            8

Предаването на отрицателна стойност води до следния резултат:

SELECT CEIL(-7.15)
FROM DUAL;

Резултат:

   CEIL(-7.15) 
______________ 
            -7 

В сравнение с ROUND()

CEIL() функцията е различна от ROUND() функция. ROUND() функцията би закръглила числото надолу в някои случаи, докато CEIL() винаги връща най-малкото цяло число, което е по-голямо или равно на неговия аргумент.

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

Резултат:

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

Също така, ROUND() ни позволява да посочим броя на десетичните знаци, които да закръгляме до:

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

Резултат:

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

Нечислов аргумент

Аргументът може да бъде всеки числов тип данни или всеки нечисловен тип данни, който може да бъде имплицитно преобразуван в числов тип данни.

Ето какво се случва, когато предоставим нечислов аргумент, който не може да бъде преобразуван в числов тип данни:

SELECT CEIL('Oops!')
FROM DUAL;

Резултат:

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

Нулеви стойности

Предаването на null към CEIL() връща null :

SET NULL 'null';

SELECT CEIL(null)
FROM DUAL;

Резултат:

   CEIL(NULL) 
_____________ 
         null 

По подразбиране SQLcl и SQL*Plus връщат празно пространство всеки път, когато null възниква в резултат на SQL SELECT изявление.

Можете обаче да използвате SET NULL за да посочите различен низ, който да бъде върнат. Тук посочих, че низът null трябва да бъдат върнати.

Неправилен брой аргументи

Извикване на CEIL() без подаване на аргументи връща грешка:

SELECT CEIL()
FROM DUAL;

Резултат:

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:

И предаването на грешен брой аргументи води до грешка:

SELECT CEIL(1, 2)
FROM DUAL;

Резултат:

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 също има FLOOR() функция, която връща най-голямото цяло число, равно на или по-малко от неговия аргумент.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MONTHS_BETWEEN() Функция в Oracle

  2. Настройки на Django oracle db

  3. Разделената последователност на Oracle

  4. Как да премахна дубликати от списък, разделен със запетая, чрез регулярен израз в Oracle, но не искам дублирани стойности?

  5. Намиране на броя на знаците и числата в низ