2012-11-28 5 views
2

어떻게 당신의 형식으로 날짜를 변환 할SQL 변환 날짜는

2012-10-16 

없이 바로 만드는 VARCHAR (10) this question가 제안하는 것처럼 작동하지 않을 것입니다. 왜냐하면 나는 그것들을 비교해야하고 그 방법으로는 그것을 할 수 없기 때문입니다. 또한 nowhere does it give me the 값은 해당 유형의 변환을 수행합니다.

이것은 내가 왔어요로 가깝다 :

declare @DATE DATETIME = '2012-10-16 00:00:000' 
SELECT Convert(varchar(20), @DATE,105) 

결과 = 16-10-2012

+2

SQL은 무엇입니까? – wallyk

+0

어떤 SQL입니까? 리얼리? -1? 진짜야? 내가 뭘 잘못 했니? – Ruan

+1

철자가 잘못되었습니다. ;) – fancyPants

답변

3
declare @DATE DATETIME = '2012-10-16 00:00:000' 
SELECT REPLACE(Convert(varchar(20), @DATE,102), '.', '-') 

Here을 SQL Serv의 날짜 형식 개요 어.

+0

그 위대한 일한 것을 기억합니다!, 고마워요! – Ruan

+0

네, 오타를 유감스럽게 생각합니다. 당신은 환영합니다 : D –

+1

@KuyaJohn,'REPLACE'를 사용하지 않고 할 수 있습니다. – Kaf

2
SELECT CONVERT(VARCHAR(10),@date, 120) 
--Gives: yyyy-mm-dd 
+0

실제로 그게 도움이되지 .. Varchar (10)는 나를 위해 일하지 않을 것이다. (질문 참조) – Ruan

+2

[SQL Fiddle] (http://sqlfiddle.com/#!3/d41d8/6767)을 확인하십시오. 이것은 SQL Server에서 작동합니다. 왜 당신이 그것이라고하지 않는지 확실하지 않다 – Kaf

+0

아 아아 네가 옳다는 것은 성공 했어. 내 비교가 바로 끝났다. 고맙습니다 – Ruan