반응형
데이터베이스에 일부 데이터를 저장하는 가장 좋은 방법을 찾는 데 문제가 있습니다. DD / MM 날짜를 데이터베이스에 저장해야하지만 쉽게 정렬하고 검색 할 수 있도록이를 저장하는 가장 좋은 방법이 확실하지 않습니다.
기본적으로 사용자는 중요한 날짜를 DD / MM 형식으로 저장할 수 있으며, 날짜가 가까워지면 알림을 받게됩니다.
DATE 데이터 유형은 연도를 포함하므로 완전히 적절하지 않은 것 같지만이 데이터를 저장하는 다른 방법을 생각할 수 없습니다. 모든 경우가 끝날 때까지 특정 연도를 포함하는 것이 가능하지만 이는 거의 옳지 않은 것 같습니다.
해결 방법
DD / MM 날짜를 데이터베이스에 저장해야하지만 쉽게 정렬하고 검색 할 수 있도록이를 저장하는 가장 좋은 방법이 확실하지 않습니다.
연도 구성 요소가 필요하지 않더라도 날짜 데이터를 저장하는 가장 좋은 방법은 date를 사용하는 것입니다. 사용해야 할 경우 연도를 제거하거나 비교할 연도 (또는 현재 연도)로 바꿀 수 있습니다.
날짜 열에 있으면 올바른 정렬, 무결성, 유효성 검사 등이 용이 해집니다.
윤년을 맞추려면 '0004-02-29'를 허용하는 '0004'와 같은 연도를 사용하십시오. 4 년차를 사용하면 0 년보다 약간 더 복잡해 지지만 예를 들어 '29 -2 월 '(연도 불가지론) 날짜를 다른 필드와 비교하기 위해 올해 날짜로 바꿉니다.
select
adddate(
subdate(cast('0004-02-29' as date),
interval 4 year),
interval year(curdate()) year)
result: 2011-02-28
참조 페이지 https://stackoverflow.com/questions/4998470
반응형
'MySql' 카테고리의 다른 글
MySQL SQL 데이터베이스의 특정 필드에 대한 모든 항목을 대량 변경 (0) | 2020.10.19 |
---|---|
MySQL mysql Docker 컨테이너에 시간대 구성 (0) | 2020.10.19 |
MySQL 오류 : 테이블 스페이스 덤프를 시도 할 때 정의 자로 지정된 사용자 ( 'mysql.infoschema'@'localhost')가 존재하지 않습니다. ' (0) | 2020.10.19 |
MySQL 정렬하여 수리 하시겠습니까? (0) | 2020.10.19 |
MySQL 오류 1364 (HY000) : 'MY_DATE'필드에 기본값이 없습니다. (0) | 2020.10.19 |
댓글