반응형
한 달의 일 수
저는 한 달에 며칠 동안 균등하게 분배해야 하는 금액이 있습니다.데이터는 다음과 같습니다.
Month Value
----------- ---------------
01-Jan-2012 100000
01-Feb-2012 121002
01-Mar-2012 123123
01-Apr-2012 118239
1월 금액은 31일, 2월 금액은 29일, 3월 금액은 31일에 걸쳐 분산해야 합니다.
PL/SQL을 사용하여 월 열에 지정된 달에 며칠이 있는지 확인하려면 어떻게 해야 합니까?
SELECT CAST(to_char(LAST_DAY(date_column),'dd') AS INT)
FROM table1
사용 안 함to_char()
그리고 날짜를 가지고 산술을 할 때.문자열은 문자열이고 날짜는 날짜입니다.데이터 유형을 존중하고 대신 다음을 사용하십시오.
1+trunc(last_day(date_column))-trunc(date_column,'MM')
확실히, 이것은 맞습니다.월의 마지막 날 값과 첫 번째 날 값 사이의 차이를 계산합니다(분명히 항상 1이므로 이 1을 다시 추가해야 함).
사용하는 것을 잊지 말아야 합니다.trunc()
날짜 열에 시간이 포함된 경우 함수:last_day()
시간 구성 요소를 보존합니다.
SELECT EXTRACT(DAY FROM LAST_DAY(SYSDATE)) num_of_days FROM dual;
/
SELECT SYSDATE, TO_CHAR(LAST_DAY(SYSDATE), 'DD') num_of_days FROM dual
/
-- Days left in a month --
SELECT SYSDATE, LAST_DAY(SYSDATE) "Last", LAST_DAY(SYSDATE) - SYSDATE "Days left"
FROM DUAL
/
한 달을 추가하고 두 날짜를 뺄 수 있습니다.
SQL> ed
Wrote file afiedt.buf
1 with x as (
2 select date '2012-01-01' dt from dual union all
3 select date '2012-02-01' from dual union all
4 select date '2012-03-01' from dual union all
5 select date '2012-01-31' from dual
6 )
7 select dt, add_months(trunc(dt,'MM'),1) - trunc(dt,'MM')
8* from x
SQL> /
DT ADD_MONTHS(TRUNC(DT,'MM'),1)-TRUNC(DT,'MM')
--------- -------------------------------------------
01-JAN-12 31
01-FEB-12 29
01-MAR-12 31
31-JAN-12 31
select add_months(my_date, 1)-my_date from dual;
SELECT TO_CHAR(LAST_DAY(SYSDATE), 'fmday-mon-rr dd') as LastDayOfMonth
FROM dual;
다음 오라클 쿼리를 사용합니다.
select to_number(to_char(last_day(sysdate),'dd')) TotalDays from dual
Date_Parameter='01-Oct-2017'
select to_number(to_char(last_day('Date_Parameter'),'dd')) TotalDays from dual
언급URL : https://stackoverflow.com/questions/13766611/number-of-days-in-a-month
반응형
'programing' 카테고리의 다른 글
PhoneGap 및 jQuery를 사용하는 도메인 간 요청이 작동하지 않음 (0) | 2023.08.21 |
---|---|
MySQL NULL 또는 NOT NULL 그게 질문입니까? (0) | 2023.08.21 |
CSS 계산()에서 vh 빼기 픽셀을 사용할 수 있습니까? (0) | 2023.08.21 |
PL/SQL Developer에서 연결을 유지하는 방법은 무엇입니까? (0) | 2023.08.21 |
Magento 설치는 InnoDB가 없을 때 InnoDB를 사용할 수 없다고 불평합니다. (0) | 2023.08.21 |