2014-04-12 2 views
0

datetime에서 time을 제거하려고합니다. SQL 서버에서 datetime에서 시간 지우기

테이블 작품 아래

PK_Date 
----------------------- 
2011-07-03 00:00:00.000 
2011-07-04 00:00:00.000 

내 코드의 행, 그러나 실제로는 작동하지 않습니다. 그것이 나에게 오류를주지 않는다는 것을 의미하지만, 결과를 볼 때, 여전히 똑같습니다. 나는 그 테이블에있는 모든 단일 행을 단지 날짜가되도록 변경하려고합니다. 2011-03-04

어떤 아이디어? 건배, 당신의 열 데이터 유형은 DATETIME입니다

UPDATE dbo.Time 
SET PK_Date = CONVERT(date,PK_Date,111) 
FROM dbo.Time 
+0

열이 DATE 또는 DATETIME 열인지 확인 하시겠습니까? DATETIME으로 정의 된 열을 날짜로 설정하면 00 : 00 : 00.000 시간 소인이 추가됩니다. 테이블 구조가 뭐니? 너는 무엇을 성취하려고 하는가? – RobP

+1

DateTime 객체는 날짜와 시간 정보를 포함하는 '물건'일뿐입니다. 그것의 중요성을 보여주는 방법. 당신이 시간 부분을 원하지 않는다면, 단지 당신의 어플리케이션에 그것을 표시하지 마십시오. – paqogomez

+0

시간 차원을 만들고 사실 테이블에 연결해야합니다. PK_Date는 2011-07-03 00 : 00 : 00.000에서 2013까지의 결과와 함께 시간 차원의 기본 키입니다. 큐브를 만들어야합니다. 매월 장소에 따라 결과를 표시하고자하는 SSIS를 사용합니다. – Tuzki

답변

1
단지 저장 날짜 부분은 해당 열의 데이터 형식을 변경하려고합니다

과에 문자열과 스타일이, 또는 CAST 또는 CONVERT 그것 중 하나 CONVERT을 날짜로만 작성하십시오

+0

그 하하 좋고 간단한 대답을 생각하지 않았다. 건배 – Tuzki

1

경우, 당신은 항상 값에 시간 요소를해야합니다. 그냥 날짜 만보고 싶은 경우에, 당신은을 수 DATE

SELECT CAST(PK_Date AS DATE) from dbo.Time 
SELECT CONVERT(DATE, PK_Date) from dbo.Time 
SELECT CONVERT(VARCHAR(10), PK_Date, 111) from dbo.Time 
관련 문제