2017-04-18 6 views
0

테이블 A가 있으며 날짜/시간 형식으로 LastUpdateDate 열이 있습니다. Apr 18 2017 11:15AM과 같은 시간 데이터로 날짜를 유지합니다. 시간 데이터를 없애고 날짜를 dd/mm/yyyy 형식으로 유지하고 싶습니다.datetime 열을 기존 데이터가있는 varchar로 바꿉니다.

그래서 내가 VARCHAR로 열을 변경합니다. 하지만 기존 데이터가 있습니다. 열을 변경하면 오류가 발생합니까? 아니면 다른 옵션이 있습니까? 어떻게해야합니까?

+2

당신은 date'하지 'VARCHAR'로 변경해야 간단한 날짜로 날짜 열을 변환 ' –

+0

SELECT convert (datetime,'Apr 18 2017 11:15 AM ') – Chanukya

+0

왜일까요? 전자 datetime 그냥 데이터를 검색 할 때 날짜로 선택? – JohnHC

답변

1

아니요varchar으로 변경해야합니다.
어떤 경우에, 당신은 date 데이터 형식으로 변경한다 : 여기

ALTER TABLE YourTable 
ALTER COLUMN LastUpdateDate DATE 
GO 

일부 데이터와 샘플 테이블 ( 제발 우리를 저장 미래의 질문에이 단계) :

CREATE TABLE YourTable 
(
    id int identity(1,1), 
    LastUpdateDate datetime 
) 

INSERT INTO YourTable VALUES 
(GETDATE()), 
(DATEADD(DAY, 1, GETDATE())), 
(DATEADD(DAY, 2, GETDATE())), 
(DATEADD(DAY, 3, GETDATE())), 
(DATEADD(DAY, 4, GETDATE())) 

테이블 변경 문 :

ALTER TABLE YourTable 
ALTER COLUMN LastUpdateDate DATE 
GO 

테스트 :

SELECT * 
FROM YourTable 

결과 : 당신의 선택 쿼리에서

id LastUpdateDate 
1 18.04.2017 00:00:00 
2 19.04.2017 00:00:00 
3 20.04.2017 00:00:00 
4 21.04.2017 00:00:00 
5 22.04.2017 00:00:00 

See a live demo on rextester.

+0

이것은 효과가 있습니다. 고마워요! – asyaben

+0

도와 줘서 기쁩니다 :-) –

1

SELECT CONVERT(date,datetimecomlum) AS short_date FROM A