[노션] 날짜 계산 수식 | 기간의 일수 계산하기

닷츠·2024년 1월 1일

노션

목록 보기
1/1
post-thumbnail
  • 필드는 곧 속성입니다.
  • 예시 기준으로 필드명(속성명)을 언급합니다.
  • 일수 계산 기준으로 설명합니다. (unit이 "days"인 케이스)

날짜 계산 수식 :: dateBetween()

날짜 계산이라고 편의상 줄여 부르는 것은 원하는 단위로 얼마나 시간이 경과했는지 표현하는 것이다.
dateBetween 수식은 임의의 종료 시점 - 임의의 시작 시점 = n(단위) 라고 해석하면 된다.

dateBetween(인수1, 인수2, 계산단위)
dateBetween(종료, 시작, 계산단위)
-- 
인수1 = 종료 시점
인수2 = 시작 시점

1개의 날짜 필드 활용 (시작일 ~ 종료일)

독서기간이라는 1개의 날짜 필드 안에 시작일과 종료일 값을 한 번에 담고 있다.
그래서 종료 시점과 시작 시점을 각각 반환(=추출)하기 위한 수식이 먼저 추가로 필요하다.

[case 1,2 공통] 기간 값에서 시작일과 종료일을 반환하는 수식

dateEnd(기간)

dateStart(기간)

[case 1] 0일부터 시작

종료 시점에서 시작 시점을 일수로 단순하게 뺀 수식이다.

dateBetween(dateEnd("속성명"), dateStart("속성명"), "days")
dateBetween(dateEnd(독서 기간), dateStart(독서 기간), "days")

이렇게 되면 하루 만에 다 읽었음을 표현하고 싶어도 0일로 표시된다.

[case 2] 1일부터 시작 (기념일 계산처럼)

기념일 계산하듯이 시작 시점부터 1일로 취급하고 싶다면
계산된 수식 결과 뒤에 1이 더해지도록 하면 된다.
+1

dateBetween(dateEnd("속성명"), dateStart("속성명"), "days") + 1
dateBetween(dateEnd(독서 기간), dateStart(독서 기간), "days") + 1


1일에 걸쳐 다 읽었음을 나타낼 수 있게 되었다.

2개의 날짜 필드 활용 (시작일, 종료일)

시작 시점과 종료 시점을 각각 입력한 2개의 필드가 존재할 때 계산하는 방법이다.

[case 1] 0일부터 시작

종료 시점, 시작 시점 순으로 인수 1,2 자리에 바로 작성하면 된다.

dateBetween("속성명", "속성명", "days")
dateBetween(독서 종료, 독서 시작, "days")

[case 2] 1일부터 시작

1개 필드 활용에서 이미 설명한 것처럼
2개 날짜 필드를 활용할 때도 1일차부터 적용하고 싶다면
수식 뒤에 1을 더해주면 된다.

dateBetween(prop("속성명"), prop("속성명"), "days") + 1 
dateBetween(독서 종료, 독서 시작, "days") + 1


장,단점 정리

1개 필드 활용

  • 장점: 데이터베이스에서 필드를 1개만 관리하면 된다.
  • 단점: 수식 작성할 때 중첩이 되어 복잡하거나 번거롭게 느껴질 수 있다.

2개 필드 활용

  • 장점: 수식 작성할 때 인수만 바로 넣으면 되므로 상대적으로 단순하다.
  • 단점: 데이터베이스에서 필드 2개를 관리해야 한다.

참고로 저는 노션 데이터베이스를 관리할 때만큼은
관리하는 필드 수를 최대한 줄이고 싶어서 1개 필드 방법으로 적용합니다.

profile
* 2024.1.6 부로 https://nuringdots.tistory.com/ 에서 통합 운영합니다.

0개의 댓글