2012-11-16 3 views
1

하루 종일 조사 중이며 지금까지 받아 들일 수있는 대답을 찾지 못했고 코드로 실험 한 결과 아무 것도 산출되지 않았습니다.SQL에서 날짜 변환을위한 쿼리

저는 "StartDate"와 "LastBackupDate"라는 특정 열 2 개가있는 데이터베이스가 있습니다.이 열은 날짜 정보를 율리우스 력 날짜 (예 : 40953.6017873071)로 저장하는 것으로 보입니다. 이것을 표준 그레고리력 날짜 (MM-DD-YYYY 또는 DD-MM-YYYY)로 변환해야합니다.

현재 "Select * FROM xxxxxx WHERE blah blah"에서이 테이블의 모든 결과를 다시 가져옵니다.

데이터를 시트로 내보낼 때 Excel로 이러한 날짜를 변환 할 수 있지만 변환으로 데이터를 가져올 때 변환 된 날짜를 가져올 수 없습니다.

이것은 웹 페이지에 대한 SQL 쿼리의 일부입니다. 나는 웹 코드를 게시 할 수 없습니다,하지만 난 SQL 쿼리를 게시 할 수 있습니다 :이 적절하게 반환 얻을 수있는 방법으로

SELECT CONVERT(varchar(36),[STARTDATE],101) 
[StartDate] 
,[LastBackupDate] 
FROM [CNTD_Accounts].[dbo].[ExpandedCustomerView] 

:이 실험했습니다

SELECT * FROM ExpandedCustomerView WHERE regloginid = @0 AND (Status='A' OR Status='H')" 

합니다. 우리가 올바른 결과를 얻을 수 있는지 확인하기 위해 101, 110 및 다른 형식으로 시도했습니다. 지금까지 아무것도 나를 위해 일하고있다. 나는 이것이 상당히 단순해야한다고 생각한다.

답변

0

직접 날짜 시간 Number에서 전송 ..

select cast(40953.6017873071 as datetime) 
-- 
2012-02-16 14:26:34.423 

예컨대 데이터가 VARCHAR 필드에 숫자이면

cast([StartDate] as datetime) 

, 나는이 시도를 포기하고 최대한 빨리 업데이 트됩니다 두 번

cast(cast([StartDate] as float) as datetime) 
+0

를 캐스팅. 감사! –

+0

음, 이것은 매우 도움이되었습니다. 캐스트가 표시된 날짜와 시간을 확실히 변경하고 있습니다. 그러나, 나는 그것에 붙어있는 웹 페이지를 깨뜨렸다는 새로운 문제가있다. 웹 그리드에는 SQL의 "형변환"구문으로 정의되지 않은 열 이름에 문제가 있습니다. 시작일 열을 다르게 정의하는 방법을 알아 내야 할 것 같습니다. 그러나 이것은 요구 된대로 명확하게 작동했습니다. 정말 고맙습니다!!!! –