programing

날짜에서 요일 이름을 얻으려면 어떻게 해야 하나요?

goodsources 2023. 4. 16. 15:02
반응형

날짜에서 요일 이름을 얻으려면 어떻게 해야 하나요?

정해진03/09/1982무슨 요일이라고 해야 되지?이 경우, 그것은Tue.

한 번에 질문할 수 있나요?

SQL> SELECT TO_CHAR(date '1982-03-09', 'DAY') day FROM dual;

DAY
---------
TUESDAY

SQL> SELECT TO_CHAR(date '1982-03-09', 'DY') day FROM dual;

DAY
---
TUE

SQL> SELECT TO_CHAR(date '1982-03-09', 'Dy') day FROM dual;

DAY
---
Tue

(쿼리는 ISO-8601 날짜 표준을 따르고 날짜 형식의 모호성을 방지하는 ANSI 날짜 리터럴을 사용합니다).

파티에 10년 가까이 늦었지만, 클라이언트의 언어에 따라 결과가 달라지기 때문에 @Zohaib의 답변을 향상시킬 필요가 있다고 생각합니다.사용자에게 요일 이름을 표시하면 문제 없습니다만, 코드에 의존하면, 다음과 같이 언어를 제어할 수 있습니다.

SQL> SELECT TO_CHAR(date '1982-03-09', 'DAY', 'NLS_DATE_LANGUAGE = ENGLISH') day FROM dual;

DAY
---------
TUESDAY

SQL> SELECT TO_CHAR(date '1982-03-09', 'DY', 'NLS_DATE_LANGUAGE = ENGLISH') day FROM dual;

DAY
---
TUE

SQL> SELECT TO_CHAR(date '1982-03-09', 'Dy', 'NLS_DATE_LANGUAGE = ENGLISH') day FROM dual;

DAY
---
Tue

Oracle sql에서 이 작업을 수행하기 위해 이렇게 시도했더니 작동했습니다.

SELECT 
    START_DATE,
    CASE WHEN START_DAY = 7 THEN 'SUNDAY'
         WHEN START_DAY = 1 THEN 'MONDAY'
         WHEN START_DAY = 2 THEN 'TUESDAY'
         WHEN START_DAY = 3 THEN 'WEDNESDAY'
         WHEN START_DAY = 4 THEN 'THURSDAY'
         WHEN START_DAY = 5 THEN 'FRIDAY'
         WHEN START_DAY = 6 THEN 'SATURDAY'
    END DAY_NAME
FROM 
(SELECT 
    TO_CHAR(T.START_DATE, 'DY') START_DAY,
    TO_CHAR(T.START_DATE, 'MM/DD/YYYY') START_DATE
       
FROM 
    TABLE T )

언급URL : https://stackoverflow.com/questions/8004645/how-to-get-the-week-day-name-from-a-date

반응형