ERROR: operator does not exist: timestamp without time zone > bigint
spring 에서 postgresql을 이용해서
timestamp 비교할때 에러가 났다.
--------------------------------------
select * from table where date > ?1
public List<vo> findData(String pastDt);
--------------------------------------
이라는 소스를 심었는데 date 컬럼의 type은 timestamp였고
java에서 ?에 변수를 던져서 쿼리를 실행하려고 하니 안먹는거다....
String pastDt -> 실패 ( java에서 dateFormat을 변경해서 String 으로 던져도 안됨...)
long pastDt -> 실패
Timestamp pastDt -> 실패
악!!!!!!
postgresql tool인 pgadmin에서는
select * from table where msr_dt > '2015-09-10 08:14:31.522';
이렇게 하면 결과는 나온다.... ㅠㅠ 근데 java로 넘어가면 왜 안되는걸까...
방법은 ~?
column type이 Timestamp를 비교할 때는 java Date type을 이용해야한다!ㅜㅜ감동
*timestamp between 연산 사용하는법!
현재시간을 기준으로 300분 전까지의 데이터만 출력
timestamp 연산을 사용할때 - interval '값' 을 넣으면 가능하다.
1 hour, 1 min, 1sec 등으로 사용!!
'IT > SQL' 카테고리의 다른 글
postgres FETAL: no pg_hba.conf entry for host SSL off (0) | 2016.05.09 |
---|---|
ssl 외부 접속 연동 에러 : failed hostname verification check. Certificate contained (0) | 2015.04.23 |
ORA-28000: the account is locked (0) | 2014.07.08 |