2016-11-23 2 views
0

을 날짜 작동하지 Converting이 :나는 열이있는 테이블을 만드는거야

ID | FirstName | LastName | DOB 

그때이 개 다른 테이블

INSERT INTO ClientData( 
FirstName, 
LastName, 
DOB) SELECT FirstName, 
      LastName, 
      BirthDate 
     FROM Table1 
     LEFT JOIN Table2 ON Table1.ID=Table2.ID 

의 표 2에서 날짜의 데이터로 이러한 열을 채우는거야을

1990-01-01 

그러나 나는 형식으로 싶습니다 : 출생의 형식은

이 최종 테이블에이 형식으로 나오지 않는 그러나
01-Jan-1990 

나는 삽입 문

UPDATE ClientData 
SET DOB = CONVERT(VARCHAR(11), DOB, 106) 

전에 업데이트 문을 사용했습니다. 어떤 도움을 주시면 감사하겠습니다.

+1

열 데이터 유형 ? – jarlh

+0

table2의 "생년월일"필드의 유형은 무엇입니까? –

+0

'exec sp_columns ClientData'는 언제나 DOB 문자열입니까? –

답변

0

시도 포맷 대신 CONVERT

FORMAT (value, format [, culture ]) 

예 @Shnugo 코멘트에서 언급

FORMAT (BirthDate, 'your pattern', 'en-US') 
0

한다. 귀하의 쿼리 괜찮아요, 그냥 스키마를 변경하고 문자열로 날짜를 저장하지 마십시오. 항상 두 테이블 table1table2에 대한 DateTime 데이터 형식을 사용하여 간단하게, 클라이언트 측에서 UI 응용 프로그램을 DataTime 변환 등

0

날짜에 열이 다음 VARCHAR로 변환 모두 CAST의 첫째 :

 UPDATE ClientData 
     SET DOB = CONVERT(VARCHAR(11), cast(DOB as datetime), 106) 
관련 문제