문제

나는 새로운 SQL 서버가 문제입니다.

나는 데이터베이스를 생성을 저장하는 날짜에 nvarchar 필드 그러나 이제는 내가 필요로 변환하는 분야를 datetime.제가 인터넷을 검색하고 찾을 수 없는 적절한 솔루션입니다.

하나는 일은 내가 발견되었을 새로 생성 datetime 열 복사본 문자열 값에는,그 이름을 바꾸 새 열을 원래의 하나입니다.

나의 문자열 값의 형식 21/11/2014.나 유지할 필요가 동일한 형식입니다.면 누구나 쉽게 확인할 수 있게 되었습니다 SQL 서버는 쿼리를 할 수 있는,나는 매우 감사합니다.나는 SQL 을 사용하여 서버 관리 Studio2014.

도움이 되었습니까?

해결책

으로 당신은 아마 이미 발견된 날짜로 저장되어야 하는 날짜와의 인 읽을 수 있는 표현(varchar).

기 위해서는 변환할 문자열에서 날짜,당신은 당신을 사용하여 변환 함수에서 사용 가능한 버전의 SQL 서버(는 것으로 보인다면 2014 년은 동일한으로 관리 스튜디오).이 경우에는 사용할 수 있는 분석 기능입니다.

예제:

SELECT PARSE('21/11/2014' AS datetime USING 'it-IT')

에 대해 자세히 알아볼 수 있습 날짜를 문자열과 문자열을 날짜 데이터 형식 변환 이 문서에서는: http://www.sqlservercentral.com/articles/T-SQL/88152/

다시 귀하의 문제를 추가하는 새로운 datetime 열,예를 들어 newCol 값을 업데이트 구문 분석,문자열을 드롭 오래된 열고 이름을 바꾸 새 열을 원래 이름:

ALTER TABLE YourTable ADD newCol datetime NULL;
UPDATE YourTable SET newCol = PARSE(oldCol AS datetime USING 'it-IT');
ALTER TABLE YourTable DROP COLUMN oldCol;
EXEC sp_rename 'YourTable.newCol', 'oldCol', 'COLUMN';

다른 팁

당신이 언급할 문자열 값식 21/11/2105 다음을 시도할 수 있습니다 다음

Alter table table name alter column column name datetime NULL

(null 이 선택할 수 있도록 허용하려면 null 값을 당신의 분야).

한 경우에는 열을 포함하는 문자열 값을 다음과 같"abc"(닌 다른 형식으로 날짜 값)그것은 오류가 표시됩니다으로 변환이 실패합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 dba.stackexchange
scroll top