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

2 начина да получите броя на дните в месеца в Oracle

Ето няколко начина да върнете броя на дните в даден месец в Oracle Database. Това може да бъде броят на дните в текущия месец или броят на дните в месеца въз основа на определена дата.

Опция 1

Ето първата ни опция:

SELECT CAST(TO_CHAR(LAST_DAY(date '2030-01-17'), 'DD') AS INT)
FROM DUAL;

Резултат:

31

LAST_DAY() функцията връща последния ден от месеца въз основа на посочената дата. Като предадете това на TO_CHAR() с формат DD за деня от месеца получаваме номера на последния ден от месеца. Това число представлява броя на дните в месеца.

След това използваме CAST() функция за преобразуване на резултата в цяло число.

Опция 2

Ето още една опция:

SELECT 
    TRUNC(LAST_DAY(date '2030-08-20'))-TRUNC(date '2030-08-20', 'MM')
FROM DUAL;

Резултат:

30

TRUNC(date) функцията връща дадената стойност за дата с частта от времето от деня, съкратена до единицата, предоставена в посочения модел на формат.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да вмъкна текуща дата в поле ДАТА във формат dd/mm/yyyy в oracle

  2. Как SID се различава от името на услугата в Oracle tnsnames.ora

  3. Функцията PL/SQL в Oracle не може да види DBMS_AQ

  4. предайте целочислен масив на процедурата на Oracle от c#

  5. Oracle SQL:Използвайте последователност при вмъкване с Select Statement