2016-07-19 2 views
1

저는 신입생이므로 익숙하지 않아요. 이 스크립트를 실행하여 108이라는 비어있는 열을 업데이트합니다.이 열은 numeric(18, 0)으로 설정됩니다. 왜 내가이 메시지를 듣고 어떻게 지나갈 수 있습니까?데이터 형식 varchar를 숫자로 변환하는 중 오류가 발생했습니다 (신참)

Update HL7ManagerRecords 
set ScheduleID = 108 
where ScheduleID ='' 
+1

참고로, 사용하고있는 SQL의 "맛"에 주목해야합니다. "SQL"은 MySQL, MSSQL, Sybase 등을 포괄합니다 ... 또한 아래 답변도 정확합니다. 'ScheduleID = '''를 할 때, 당신은 ScheduleID를 문자열과 비교하고 있습니다. 'Where ScheduleID IS NULL'을 시도하십시오. –

+0

감사합니다. –

답변

1

ScheduleIDnumeric(18, 0)로 설정되어 널하지만 당신은 ScheduleID이 empry 문자열을 동일 모든 레코드를 찾아보십시오 : where ScheduleID =''합니다.

사용 IS NULL 대신

Update HL7ManagerRecords 
set ScheduleID = 108 
where ScheduleID IS NULL 
2

필드가 될 수는

Update HL7ManagerRecords 
set ScheduleID = 108 
where ScheduleID is null 
0

당신은 테이블에 대한 스키마를 게시해야합니다. 내 가정 ScheduleID는 숫자입니다. 숫자이므로 숫자는 numeric MSDN이므로 ScheduleID는 비어 있지 않습니다. 내 가정은 null입니다. numeric 열을 작성하고 이것이 null인지 여부를 지정하지 않으면 이것이 기본값이기 때문에 가정합니다. 라인 아래 어떤 이유로 당신이 숫자 데이터 유형을 가지고 빈 문자열로 처리하거나 특정 값을 문자열로 변경해야하는 경우 그래서 당신이 할 필요가있을 것이다 당신이 수,

Update HL7ManagerRecords 
set ScheduleID = 108 
where ScheduleID is null 
+0

정말 고마워요. 그건 잘된 –

+0

@ 존 모리나 해냈다! – gh9

0

입니다 ISNULL (ScheduleID, '') = ''과 같은 것을 사용하십시오. 다른 사람들이 말했듯이 "null입니다"는 잘 작동 할뿐입니다.

관련 문제