2013-03-12 5 views

답변

1

당신은뿐만 아니라 암시 적 변환을 사용할 수 있습니다 - 적은 입력을

SELECT '0000000000245' + 0 

이것은, 그러나, 더 복잡해진다이 NVARCHAR하지 않는 경우 항상은 (숫자를 포함 :-) 팀의 @하는 경우 위의 대답에는 문제가있을 수도 있습니다.). 그래서 ...이게 왜 nvarchar입니까? 대신 테이블을 정수형 컬럼으로 변경할 수 있습니까?

+0

데이터 형식을 int로 변환하려고 시도합니다. 왼쪽 여백이 채워진 고정 너비 파일로 가져 왔습니다. –

7

사용 CAST

SELECT CAST('0000000000245' AS int), 
     CAST('0000000001270' AS int) 

Demo

int에 왜 당신은 처음부터 int을 사용하지 않은? 선행 0을 표시하는 것은 프론트 엔드에 대한 작업입니다.

+0

열에는 다양한 수의 0이 붙은 350 개의 레코드가 들어 있습니다. CAST를 사용하면 각 레코드에 대해 작성해야합니다. –

+1

레코드의 수는 중요하지 않습니다. 단지'SELECT CAST (columnName AS int) as columnName ... '을 사용하십시오. –

+0

다시 한번 감사드립니다. CAST는 작동했지만 데이터 유형을 nvarchar에서 int로 변환합니다. 추신. 데모 옵션을 좋아하십시오. 멋지다. –

관련 문제