2016-06-30 4 views
0

Postgresql 데이터베이스에 타임 스탬프를 추가하는 동안 culture 불변 정보를 추가하는 방법은 무엇입니까?Postgresql에서 타임 스탬프에 문화 불변 정보를 추가하는 방법은 무엇입니까?

테이블 쿼리를 만듭니다 :

CREATE TABLE Table1(Id SERIAL NOT NULL PRIMARY KEY,CreatedDate TIMESTAMP); 

삽입 쿼리 : PostgreSQL 데이터베이스에 쿼리를 실행하는 동안 오류 아래 얻고있다

insert into Table1 (CreatedDate) 
    values (convert(TIMESTAMP,'18-06-12 10:34:09 PM',112)); 

합니다.

column "timestamp" does not exist 

타임 스탬프를 열에 삽입하는 올바른 방법입니까?

+0

'112'는 무엇을 의미 할 수 있습니까? –

+0

CultureInfo ("en-us") 형식입니다. – Shesha

답변

3

나는이 점을 거꾸로 생각하고 있다고 생각합니다. 문화 불변 정보를 타임 스탬프에 추가하지 마십시오. 시간 스탬프를 사용하여 형식을 지정하거나 (to_char 참조) 타임 스탬프를 구문 분석하는 데 사용합니다 (datestyle 구성 옵션 참조).

타임 스탬프를 삽입하고 데이터 스타일을 적절하게 설정 한 다음 타임 스탬프로 전송하십시오. 이 항상 다음 미국, 경우에 따라서 :

하지만 귀하의 경우

, 내가 있기 때문에 무언가가 당신의 예를 잘못 생각 : 2,018 유효한 년이기 때문에

SELECT '18-06-12 10:34:09 PM'::timestamp; 

작동하지만 내가 먼저 SET DATESTYLE = 'US';는 내가받을 경우 18은 유효한 달이 아니기 때문에 오류가 발생합니다. 내가 발견으로

1

, 당신은

(to_timestamp('18-06-12 10:34:09 PM', 'yy-MM-dd') AT TIME ZONE 'America/Los_Angeles') 

P.S. 같은 ADD TIME ZONE을 사용해야합니다 America/Los_Angeles 그냥 예일뿐입니다

관련 문제