내 응용 프로그램의 데이터베이스에서 계약 기간을 캡처하고 싶습니다. 나는 레일즈 3과 함께 포스트그레스를 사용하고있다. 용어는 계약 기간이다. 투입물의 예로는 5 년, 3 년 반, 2 년 3 개월이 있습니다. 나는 일반적으로 몇 년과 몇 달 동안 지속 시간을 포착 할 수 있기를 원합니다. 어떤 데이터 형식을 사용해야합니까?계약 기간 동안 사용할 Rails Active Record Migration 데이터 유형은 무엇입니까?
1
A
답변
2
나는 (정수로) 개월 만 캡처하거나 2 개의 별도 필드가 필요하다고 생각합니다. 몇 년 동안 한 달씩. 드롭 다운 메뉴로 구현 된 달을 가질 수 있으므로 0에서 11까지의 값만 허용됩니다.
마지막 옵션은 원하는 것보다 훨씬 정확한 datetime을 사용하는 것이므로 권장하지 않습니다.
2
start_date와 end_date라는 두 가지 datetime 속성을 사용하여 계약 기간을 원하는 방식으로 년, 월, 일, 분, 초 등 원하는대로 나중에 표현할 수 있습니다.
당신은
class Contract < ActiveRecord::Base
def term
return self.end_date - self.start_date
end
end
용어는 초, 당신은 몇 가지 간단한 수학을 달, 세 달을 반환 할 것, 즉 용어라는 의사의 속성을 정의 할 수 있습니다, 등 또한 즉,
을 DateHelper을 사용할 수 있습니다distance_of_time_in_words(@contract.start_date,@contract.end_date)
등 '일년'또는 '삼년', '약 일년', 같은 근사 문자열을 출력합니다
4
PostgreSQL을은 interval
데이터 형식을 지원합니다 .
http://www.postgresql.org/docs/9.1/static/datatype-datetime.html
관련 문제
- 1. rails xml to active record object
- 2. Active Directory에서 Rails 3.1 Active Record 데이터베이스로 사용자로드
- 3. 기간 동안 데이터 수집
- 4. YII Active Record Join
- 5. CodeIgniter의 Active Record Optmising
- 6. 서수에 사용할 데이터 유형은 무엇입니까?
- 7. Active Record Association with Memcached
- 8. SubSonic Active Record 클래스 생성
- 9. 잠금없이 Active Record Object를 터치하는 방법은 무엇입니까?
- 10. Active Record select with select
- 11. Sinatra/Active Record postgresql adapter
- 12. Rails 베스트 프랙티스에서 Ajax로 Active Record 폼을 작성하여 제출 하시겠습니까?
- 13. Ruby on Rails 및 Active Record associations의 다단계 카테고리
- 14. Rails Active Record Query - 조건을 만족하는 임의의 레코드 찾기
- 15. 일반 Active Record 조인 또는 포함
- 16. 특징 구조 구현 : 사용할 데이터 유형은 무엇입니까?
- 17. 숫자에 사용할 올바른 데이터 유형은 무엇입니까
- 18. rails next/prev record
- 19. PHP Adodb Active Record SQL 주입
- 20. Adodb Active Record 대 Zend db_table
- 21. CodeIgniter Active Record 문자열 대신 Mysql 데이터 형식을 반환합니다.
- 22. 사용할 조인 유형은 무엇입니까?
- 23. 이러한 데이터 유형은 무엇입니까?
- 24. 사용할 수있는 콜렉션 유형은 무엇입니까?
- 25. Active Record in Rails의 대안이 있습니까?
- 26. CodeIgniter Active Record : SQL을 실행하지 않고 디버그
- 27. CodeIgniter의 Active Record 클래스는 데이터베이스 추상화 계층입니까?
- 28. Ruby on Rails로 모델링하기 Active Record
- 29. CodeIgniter Active Record : 특정 변수 무시
- 30. 십진수에 사용할 데이터 유형은 어느 것입니까?
datetime은 간격이 아닙니다. datetime을 사용하는 경우 시간 범위를 만들려면 다른 필드가 있어야합니다. –