2008-10-14 2 views
10

내 모델 중 하나에 올해를 저장하고 싶습니다. 현재 나는 date라는 타입의 year라는 데이터베이스 필드를 가지고 있지만, 단지 1 년이 아닌 전체 날짜 (yyyy-mm-dd)를 원한다.레일스 앱에 연말을 저장하는 방법

이걸 저장하는 가장 좋은 방법은 무엇입니까? 날짜 필드에서 날짜 비트 (어떤 경우, 어떻게?) 또는 int 필드, 또는 문자열 필드 또는 무엇을 저장하는 그냥 얻는 방법을 사용하여? 어떤면에서는 int 필드를 사용하는 것이 잘못되었다고 생각되지만 가장 쉬운 방법 일 수 있습니다.

답변

7

가능한 날짜 범위에 따라 다릅니다. BC에서 먼 미래로 (네 자리에서 4 자리 이상으로) 날짜가 이동하면 정수를 저장하는 것이 가장 쉽습니다 (정렬 이유 만). 계산을하거나 날짜를 비교하려는 경우에도 마찬가지입니다.

그렇지 않으면 나는 아마도 문자열로 갈 것입니다.

날짜 필드를 사용하면 1 월 1 일을 사용하고 표시 할 때 연도 부분을 추출합니다.

4

날짜 필드에서 임의로 선택한 날짜를 사용하지 말 것을 권장합니다. 당신은 당신이 이것을 임의로 선택했음을 알게 될 것입니다.

당신이 저장하려는 의미 이외의 다른 것을 저장하지 않고 그 의미에 대해 많은 혼란을 일으킬 수 없기 때문에 나는 int를 사용할 것입니다.

관련 문제