검색

2015-01-22 2 views
1

는 어디서 date_approved 예를 들어 모든 레코드를 선택하는 SQL 쿼리를 가지고 데이터베이스 필드의 이름이 형식검색

date_approved"=>"2015-01-01T10:19:44+00:00", "date_realized"=>"2015-01-01T10:31:11+00:00", "date_tn_approved"=>"2015-01-01T10:09:40+00:00" 

에 날짜 시간의 집합을 저장 메타가 가능이 1 월에 있니?

나는 내가 정말 데이터가 정말 당신이 우리를 보여주는 방식으로 저장되어 있으면 데이터가

+1

(mm, date_approved)'절 –

+0

가 전체 문자열은 하나 개의 필드의 일부가 실제로 이렇게 할 수 where' –

+0

한이 항목이 것을'에 id ...? ... 데이터 모델링에 대해 다시 생각해보아야합니다. –

답변

2

을 저장되는 방식으로 많은 변경할 수 없습니다 데이터베이스에 값의 삽입을 처리하지, 다음이 될 수 있습니다 그 값은 직접 hstore에 캐스팅 될 수 있기 때문에 hstore을 사용하여 얻을 : 컬럼의 형식이 정확하지 않은 경우

select * 
from the_table 
where extract(month from ((meta::hstore -> 'date_approved')::timestamp)) = 1 

이 실패합니다 당신이 우리를 보여 주었다 또는 타임 스탬프는 다른 방식으로 포맷하는 경우 .

당신은 그것을 사용할 수 있도록 createhstore 확장 할 필요가 있습니다

create extension hstore; 

이 수퍼 유저로 수행해야합니다.

SQLFiddle : http://sqlfiddle.com/#!15/d41d8/4408

당신이 날짜 부분`을 검색 할 수 있습니다
+0

이것은 완벽하게 작동했습니다. 정말 고맙습니다! –