2013-03-14 2 views
0

데이터 형식이 nvarchar(10) 인 열 (Col)이있는 테이블 (tabl)이 있습니다.Tsql nvarchar 날짜 업데이트

데이터 유형이나 데이터 길이를 변경하지 않는 것으로 가정합니다. 열에 yyyy-mm-dd (2012-04-24) 형식의 날짜가 포함되어 있습니다. 해당 열을 mm/dd/yyyy (2012 년 4 월 24 일)로 업데이트해야합니다.

제약의 끔찍한 세트, 그러나 무엇을 요구하는지하는 것은 가능하다
+2

어. 왜? 이 변경으로 인해 원하는 경우 데이터베이스 내에서 현명하게 정렬 할 수 없게됩니다. 왜 비즈니스 논리에서 형식을 바꾸지 않습니까? – MattW

+2

왜 날짜를'nvarchar'로 저장하고 있습니까? 왜 그것들을'Date' 나'DateTime'으로 저장하지 않을까요? –

+0

배경을 모르지만 데이터베이스 경험이있는 사람이라면 날짜를 문자로 저장하는 것은 매우 나쁜 생각이며, 다시 살펴보고 다시 포맷해야한다는 사실은 단지 하나의 증상 일뿐입니다. –

답변

0

: http://msdn.microsoft.com/en-us/library/ms187928.aspx

결과는 다음과 같습니다 끝에

UPDATE tabl SET col = CONVERT(nvarchar(10), CAST(col AS datetime), 101) 

101 적절한 날짜 스타일이 페이지에서 잡고있다 하지만 주문하기가 어려우며 형식이 모호한 날짜를 갖게됩니다. datetime으로 저장하는 것은 할 수있는 일입니다.

+0

Tass. 데이터 형식을 datetime으로 변경하고 Tass가 주어진 원하는 결과를 얻지 못하는 동일한 결과가 표시되는 SET col = CONVERT (nvarchar (10), CAST (col AS datetime), 101) SET – knahs

+0

다른 질문을합니다. 내 대답은 데이터베이스에서 문자열 형식을 변환하는 것이 었습니다. datetime으로 저장 했으므로 응용 프로그램의 어느 곳에서나 표시 할 날짜/시간을 형식화해야합니다. 'datetime'은 데이터베이스에서 형식화되지 않았습니다. 이 질문과 연구 날짜 형식은 사용하는 언어에 관계없이 닫아야합니다. – Tass