2011-10-04 2 views
0

BMC Remedy의 AR Systems에서 찾은 설명서에 따르면 MSSQL Server 환경의 타임 스탬프 (여기서는 SQL Server 2005 사용)는 데이터 형식은 UNIX 타임 스탬프 형식입니다.BMC Remedy 타임 스탬프를 mm/dd/yyyy 형식으로 변환

Business Objects Web Intelligence에서 사용자 지정 SQL을 가져 와서이 타임 스탬프를 mm/dd/yyyy 형식으로 변환 할 수는 없지만 날짜별로 레코드를 그룹화 할 수 있어야합니다 (타임 스탬프, 명백하게). 수학 또는 데이터 유형 변환과 관련된 모든 작업은 "잘못된 유형"오류를 발생시킵니다. 필드를 int, varchar, datetime 또는 다른 것으로 변환 할 수 없습니다. 작동하는 유일한 기능은 여전히 ​​전체 타임 스탬프를 반환하는 DATEADD뿐입니다.

어떻게 변환합니까? 나는 여기에 열매 맺을거야!

답변

0

왜 작동하지 않습니까?

DECLARE @timestamp INT 

SELECT @timestamp = DATEDIFF(s,'1/1/1970 00:00:00',GETDATE()) 

SELECT DATEADD(s,@timestamp,'1/1/1970 00:00:00') 

@Timestamp를 테이블의 값으로 대체하십시오.

+0

문제입니다.이 타임 스탬프에는 DATEADD 이외의 것을 사용할 수 없습니다. 어떤 이유로 든 DATEDIFF 나 다른 DATE 함수를 사용할 수 없습니다. "잘못된 유형"오류가 발생합니다. – ClairelyClaire

+0

그래서'DATEADD (s, timestamp, '1/1/1970 00:00:00')'할 때 오류가 발생하지 않습니까? 이게 효과가 있니? 'SELECT DATEADD (dd, 0, DATEDIFF (dd, 0, DATEADD (s, timestamp, '1/1/1970 00:00:00')))' – Wil

0

당신은 1000 AR 시스템에 의해 INT 타임 스탬프를 곱해야 할 수 있습니다 대부분의 다른 언어 밀리 초 단위로 유닉스 타임 스탬프를 저장으로 '초'의 수와 날짜 저장

(및 긴 데이터 형식)

희망이 도움이됩니다!

0

이동 도구 사용자

에 -> 도구 -> 옵션 -> 로케일 탭 -> 날짜/시간 스타일 -> 사용자 정의 형식 -> MM/DD/YYYY는

3

GMT로 변환/UTC/줄루어 현지 시간대 (EDT/뉴욕)에 :

,536 : 해결 작업 정보 항목 (Transact-SQL)를 표시하기 위해 사용

DATEADD(hour,-5,DATEADD(s,Last_Modified_Date,'1/1/1970 00:00:00')) 

SELECT Work_Log_ID, DATEADD(hour, +12, DATEADD(s, Last_Modified_Date, '1/1/1970 00:00:00')) as Last_Modified_Date , Description, Detailed_Description, Infrastructure_change_ID, Number_of_Attachments 
FROM dbo.CHG_WorkLog 
    WHERE Infrastructure_Change_ID = 'CRQ001261' 
    ORDER BY Work_Log_ID desc 
관련 문제