2017-11-02 2 views
1

내 열 중 하나가 "datetime"유형이어야하는 SQL을 사용하여 테이블을 만들려고합니다. 그러나 현지 시간 형식을 사용하고자합니다 : DD : MM : YYYY HH : MM : SSSQL에서 datetime 형식을 사용하는 방법?

CREATE TABLE Topics 
(
    TopicID int NOT NULL IDENTITY(1,1) PRIMARY KEY, 
    TopicTitle Nvarchar(50) NOT NULL, 
    TopicDate datetime NOT NULL, 
    TopicText Nvarchar(255) NOT NULL, 
    UserID int NOT NULL FOREIGN KEY REFERENCES Users(UserID) 
) 

입력 형식을 위에서 지정한 형식으로 만들려면 어떻게해야합니까?

감사합니다.

+1

'DD : MM : YYYY'을 (를) 사용하는 사람이 궁금합니다 ...? 나는 'dmy'에 익숙하지만 단락 문자로 콜론은 사용하지 않습니다. – SqlZim

+5

datetime은 datetime 데이터 유형입니다. 데이터를 저장하지 않고 표시 할 데이터를 선택할 때 포맷합니다. –

+0

우리는 덴마크와 대부분의 유럽 국가에서 그렇게 생각합니다 :-) – JohnTheHun

답변

0

내가 제대로 dd:mm:yyyy 사이의 구분 기호로 콜론을 사용하여 날짜 리터럴을 구문 분석하는 언어 설정을 인식하지,하지만 당신은 stuff()을 사용 기간 동안 처음 두 개의 콜론을 교환하고, (format()을 사용할 수 있습니다 SQL Server 2012 이상) : 출력 :

/* adjusting input to a string that can convert to datetime */ 
declare @s varchar(20) = '02:11:2017 16:59:16'; 
select dt = convert(datetime,stuff(stuff(@s,3,1,'.'),6,1,'.'),103) 

/* return datetime using specified format */ 
select dt = format(getdate(),'dd:MM:yyyy HH:mm:ss') 
관련 문제