我對此很陌生,所以要溫和。我正在運行這個腳本來更新一個空白的列,該列是108.該列設置爲numeric(18, 0)
。爲什麼我會收到這條消息,我怎麼能通過它。將數據類型varchar轉換爲數字時出錯(新手)
Update HL7ManagerRecords
set ScheduleID = 108
where ScheduleID =''
我對此很陌生,所以要溫和。我正在運行這個腳本來更新一個空白的列,該列是108.該列設置爲numeric(18, 0)
。爲什麼我會收到這條消息,我怎麼能通過它。將數據類型varchar轉換爲數字時出錯(新手)
Update HL7ManagerRecords
set ScheduleID = 108
where ScheduleID =''
列ScheduleID
設置爲numeric(18, 0)
但你試圖尋找到ScheduleID
等於一個empry字符串中的所有記錄:where ScheduleID =''
。
使用IS NULL
代替
Update HL7ManagerRecords
set ScheduleID = 108
where ScheduleID IS NULL
可能是田野裏是空
Update HL7ManagerRecords
set ScheduleID = 108
where ScheduleID is null
您需要發佈表的架構。我的假設是ScheduleID是一個數字。由於它是一個數字,ScheduleID不是空白,因爲它包含一個數字numeric MSDN。我的假設是null
,因爲如果您創建numeric
列並且未指定它是否爲null
,那麼這是默認值。所以,你需要做的是
Update HL7ManagerRecords
set ScheduleID = 108
where ScheduleID is null
非常感謝。那工作 –
@JohnMolina高興,它做到了! – gh9
如果由於某種原因下了線,你需要採取一個數字數據類型,並把它作爲一個空字符串或將其與一個特定的值更改爲一個字符串,你可以使用類似ISNULL(ScheduleID,'')=''的內容。就像其他人說的那樣,「無效」會很好的工作,只是另一種方式。
作爲一個說明,你應該標記你正在使用的SQL的「味道」。 「SQL」包含MySQL,MSSQL,Sybase等...另外,下面的答案是正確的;當你做'ScheduleID ='''時,你在比較ScheduleID到一個字符串。嘗試'在ScheduleID爲NULL的地方。 –
謝謝我將 –