2012-08-03 6 views
0

이것은 매우 간단합니다. SQL SERVER 2008 자동으로 값을 문자열로 변환합니까?숫자가 SQL에서 문자열로 표시됩니다

시도해 보았습니다. Select * from Staff Where Division = 5
삽입하려고하면 작동합니다.
5를 5로 변경하면 나는 오류가 발생합니다. Invalid column name five.

사업부는 NVARCHAR입니다. 작은 따옴표 안에 들어 있지 않습니까?

+0

@Pha .... 예 작은 따옴표로 묶어야합니다. 그렇지 않으면 오류가 발생합니다 ... 메시지 245, 수준 16, 상태 1, 줄 1 nvarchar 값 '(없음)'을 데이터 형식 int로 변환 할 때 변환하지 못했습니다. – MikeTWebb

+0

@MikeTWebb 나는 그것을 내 앞에서 가지고있다. 그리고 그것은 완벽하게 작동합니다. 아마 스크린 샷을해야할까요? – phadaphunk

답변

0

예, SQL Server는 int를 nvarchar로 암시 적으로 변환합니다. 또한 암시 적으로 nvarchar를 int (및 다른 숫자 형식)로 변환 할 수 있습니다. 자세한 내용은

: http://msdn.microsoft.com/en-us/library/ms191530.aspx 암시 적 변환이 이루어지는 경우가 많이 있습니다

0

. 예를 들어 :

EXEC sp_who2 active; 

당신은 문자열로 active를 구분 할 필요가 없습니다할까요? 예, 구문은 용서입니다.

내 제안 : 항상 데이터 형식을 올바르게 구분하고 예외를 무시하십시오. 그들이 포괄적으로 해결할 수있는 기회는 거의 없다.

+0

정말 고마워요. – phadaphunk

관련 문제