2012-01-16 1 views
1
UPDATE tablex 
set Deal Number= ' ' 
where Deal Number is null 

필드를 만들려고하면 공백이 생깁니다. 대신 null은 0이됩니다.FLOAT 인 필드에 공백을 추가하면 0 (공백)이 아닌 0이됩니다.

내가 원하는 것을 어떻게 얻을 수 있습니까?

+1

'Number'을 거래하는 대신 경우 입력 (N) 0

사용 NVARCHAR을 제공합니다 ? –

+1

'거래 번호'라는 이름에 실제 공간이 있습니까? 그런 다음 대괄호 안에 넣으십시오. –

답변

4

귀하의 필드는 당신이 그것에 빈 문자열 또는 공백을 할당 할 수 없음을 의미 숫자 유형 (부동 소수점)입니다. 시도 할 때 변환은 기본적으로 0이됩니다.

DDL에서 허용하는 경우 null로 설정하거나 실제로 공백을 할당 할 수 있으면 필드를 varchar 유형으로 만들고 계산해야 할 때 변환을 수행 할 수 있습니다. 그래도 추천하지 않습니다. null 값을 처리하는 것이 좋습니다. (I 필드에 값이 없을 때 당신은 클라이언트 응용 프로그램에서 '아무것도'을 표시하지 않을 것인지 생각하고 있습니다.)

+0

더 많은 것은 캐릭터 라인을 숫자로 분석하려고 시도하는 서버와 관련이 있으며, 공백은 0 (변환이 실패한 이후의 기본값 인 float 유형의 기본값)으로 구문 분석됩니다. 그러나'Deal Number = '3.14'로 설정하면 사실상 숫자로 파싱 할 수 있기 때문에 원하는 결과 (3.14의 숫자)를 얻을 수 있습니다. –

1

당신은 빈 문자열에 숫자 필드를 설정할 수 없습니다, 빈 문자열 이후문자열입니다.

는 데이터 유형을 변경하거나 '' 대신 0를 표시하는 응용 프로그램/디스플레이 레이어를 변경

.

0

빈 문자열 (공백 문자열이 때문에 ANSI 표준을 비어가) 숫자로 변환 저장하는 문자열로 플로트

의 데이터 유형을 무엇
관련 문제