다음 열이있는 약속 표가있는 경우 특정 날짜 또는 두 날짜 사이에 발생하는 약속을 철회하기 위해 rrule을 어떻게 쿼리합니까? 그래서 예를 들어데이터베이스 테이블에 iCal RRULE로 저장된 반복 약속을 쿼리하는 방법은 무엇입니까?
Appointments
------
id
name
dt_start
dt_end
rrule
내가 2016년 9월 28일에 시작 2017년 4월 28일에 종료 약속이 말할 수 있으며 4 월 28 일 2017 까지 월요일, 금요일에 2 주마다 발생 RRULE 될 것이다 다음은 어떻게 할 지금
2016-09-30 FRI
2016-10-10 MO
2016-10-14 FRI
2016-10-24 MO
: 그래서 위의 예제를 사용하여
RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=20170428T230000Z;BYDAY=MO,FR EXDATE:20170414T023000Z
, 위의 약속에 발생할 수있는 날짜의 일부는 다음을 포함 할 것 SQL 또는 다른 방법을 사용하여이 테이블을 쿼리하여 2016-10-10에 발생하는 모든 약속을 제거합니다.
레코드의 경우 C# asp.net 및 SQL 서버에서이 작업이 수행됩니다. rrule을 구문 분석하고 쿼리하는 데 사용할 수있는 C# 또는 SQL Server 라이브러리가 있습니까?
나는 ICAL.net을 살펴 봤지만 거기에 많은 문서가 없거나 위에 설명 된 용도로 사용하는 방법이없는 것 같습니다.
누구나 ICAL.net에 대한 경험이 있습니까?
문자열을 분리하고 다른 부분을 추출해야하는 경우 시작과 끝 (반복적 인 cte) 또는 날짜 차원 사이에 날짜 테이블을 작성하면 날짜가 좋을 것입니다. 그런 다음 날짜, 인터페이스, 요일, 월말, 매월 1 일 목요일 등의 모든 조합을 식별하기 위해 일련의 사례 문장을 사용하십시오.이 작업은 가볍지 만 수행 가능합니다. – Matt