>  Q&A  >  본문

MySQL은 특정 날짜에 대한 날짜 및 날짜 범위를 얻습니다(구문 오류).

이것은 내 완전한 코드이지만 실행하면

으아악

이 오류가 발생합니다.

2022년 4월 날짜 목록을 보여주고 싶어요(일요일, 토요일 제외)

예) 시작일은 2022-04-01 입니다. 종료일 2022년 4월 30일

결과가 나왔습니다->

날짜 데이트WD
2022-04-01 (금요일)
2022-04-04 (월요일)
2022-04-05 (화요일)
2022-04-06 (수요일)
2022-04-07 (목요일)
2022-04-08 (금요일)
2022-04-11 (월요일)
.... ...

이 코드를 수정하는 방법은 무엇입니까? 도와주세요. 감사합니다

*** 테이블 사용법을 모르겠어요. 테이블이 없고 SQL QUERY만 사용하고 싶기 때문입니다.

P粉637866931P粉637866931236일 전272

모든 응답(1)나는 대답할 것이다

  • P粉575055974

    P粉5750559742024-02-26 11:23:47

    구문 오류는 예제가 MySQL이 아닌 SQL Server용으로 작성되었기 때문에 발생합니다. MySQL 8.x에서 작동하려면 약간의 조정이 필요합니다.

    1. 변수 값을 선언하고 할당하는 데 DECLARE 用户定义的变量。只需使用 SET 필요하지 않습니다

    2. DATEADD()은 SQL Server 함수입니다. MySQL에 해당하는 것은 DATE_ADD(Date,INTERVAL 표현식 단위)

      입니다.
    3. DATEPART(weekday,...)은 SQL Server 함수입니다. MySQL의 경우 DAYOFWEEK(날짜)

      를 사용해 보세요.
    4. 마지막으로 CTE에서 키워드 RECURSIVE를 사용하세요. Documents에서:

    SQL

    으아아아

    결과:

    날짜 데이트WD
    2022-04-01 6
    2022-04-04 2
    2022-04-05 3
    2022-04-06 4
    2022-04-07 5
    2022-04-08 6
    2022-04-11 2
    2022-04-12 3
    2022-04-13 4
    2022-04-14 5
    2022-04-15 6
    2022-04-18 2
    2022-04-19 3
    2022-04-20 4
    2022-04-21 5
    2022-04-22 6
    2022-04-25 2
    2022-04-26 3
    2022-04-27 4
    2022-04-28 5
    2022-04-29 6

    db<>바이올린 여기

    회신하다
    0
  • 취소회신하다