나는 postgres 데이터베이스에 날짜가 있습니다. 문제는 문자열 필드에 저장되며 "1187222400000"(07.08.2007에 해당)과 비슷한 값을가집니다. 몇 가지 SQL to_date() 표현식이나 그와 유사한 내용을 읽을 수있는 날짜로 변환하고 싶지만 올바른 구문을 사용하여 작동하도록 만들 수는 없습니다.문자열 시간 소인을 날짜로 변환
답변
결론적으로 여기에 정보가 충분하지 않으므로 퍼즐을 해결하기위한 '과학적 - 야생 엉덩이 추측'을 제안합니다. : 그것은
이을 표시이 숫자는 밀리 초에서 UNIX '시대의 시간'입니다. 이 예제에서는 문자열 필드에 임의의 이름 인 'epoch_milli'가있는 것처럼 표시합니다. 예 '1187222400000 위해,
중 하나의
SELECT TO_TIMESTAMP (epoch_milli/1000) :
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + epoch_milli * INTERVAL '1 millisecond';
또는이 built-in postgresql function를 사용하여 : PostgreSQL의에서는이 문을 사용하여 타임 스탬프로 변환 할 수 있습니다 '결과를 생성합니다.
다음과 같이 선택한 값을 사용하여 자신 만의 수다방을 만들 수 있습니다.
SELECT to_timestamp(epoch_milli/1000)::DATE
FROM (VALUES (1187222400000),(1194122400000)) AS val(epoch_milli);
"음, 남자, 남자. 난 그냥 날짜를 원한다 "점 찍은
단순히 초과 비트 폐기 날짜에 타임 스탬프를 던져 :..이 값은 변환되거나 다른 상대 것을 물론
SELECT to_timestamp(epoch_milli/1000)::DATE
의 수를 두 번째 예제 데이터 포인트에 대한 요청
답변. 감사. 실제로 CARTO에서 일하는 것은 몇 가지 다른 점이있는 것 같지만 to_timestamp()는 올바른 방향으로 나를 보냈습니다. 먼저 biginteger로 변환 한 다음 타임 스탬프로 변환해야했지만 결과는 완벽합니다. to_timestamp (NULLIF (date_field, '') :: bigint/1000) – oddpodm
두 번째 값과 연관된 날짜를 제공 할 수 있습니까? – Vic
위의 '1187222400000'값은 실제로 '2007-08-15 17:00:00'에 해당 할 수 있습니까? ? – Vic
가능합니다. 다른 데이터베이스에 동일한 데이터가 있는데 날짜 만 표시되어 있지만 완전히 가능합니다. 거기에 시간이 또한있다 – oddpodm