2016-06-24 2 views
0

내 데이터베이스에있는 값은 다음과 같습니다 내 코드에서date_trunc를 변수에 타임 스탬프로 사용하는 방법은 무엇입니까?

Wed Jun 01 2016 00:00:00 GMT+0200 (CEST) 

을 내가 이런 걸 가지고 :

2016-06-23 

내 코드에서 같은 날짜를 조회 할 필요를과 PostgreSQL에서 나는 날짜에서 불필요한 정보를 "차단"하기 위해 date_trunc를 발견했습니다. 사용 예 다음 documentation 쇼 :

redshift.query("SELECT stuff, ts , date_trunc('day', TIMESTAMP 'ts') as 'date' 
    FROM ::table_name 
    WHERE date = :day",{table_name: name, day: day}, function(err, data){ 

>>>error: Redshift query Error: error: syntax error at or near "'date'" 

을하지만 분명이 작동하지 않았다 :

SELECT date_trunc('hour', TIMESTAMP '2001-02-16 20:38:40'); 
Result: 2001-02-16 20:00:00 

그래서 나는이 일을해야 thougt. 그것은 내가 "일"근처에서 구문 오류를 가지고 있다고 말했고, 나는 그것의 'ts'를 추측합니다. 내가 찾은 모든 예에서 타임 스탬프는 하드 코드되었지만 필요한 것은 아닙니다. 어떤 아이디어가 하드 코드 대신 타임 스탬프로 열을 사용하는 방법?

+0

't (x)를 (select current_timestamp)로 선택하십시오. x, date_trunc ('day', x), x :: date from t; ' – Abelisto

답변

0

ts 열을 참조하는 대신 실수로 'ts' 문자를 사용했습니다. 또한 열 별칭으로 'date'과 같은 문자열 리터럴을 사용할 수 없습니다. 식별자 여야합니다.

date_trunc('day', TIMESTAMP ts) as "date" 

은 어쩌면 당신은 ( "와 인용) 문자열 ( '로 인용) 리터럴 및 식별자를 혼합처럼

는 그래서 보일 것입니다.

+0

또한' '없이 사용했습니다. 이것은 절망적 인 시도였습니다. : D – nova

+0

글쎄, 당신은 오류 메시지를 표시하지 못했습니다. –

관련 문제