簡體   English   中英

將varchar值'null'轉換為數據類型int時轉換失敗

[英]Conversion failed when converting the varchar value 'null' to data type int

我從數據庫獲取值到aspx頁面。 獲取一列的值時,該列會拋出一個像...

null,402,2912,2909,2910,2913,2911,2914,2915,2388,2389,2390,
2391,2964,2965,2392,2393,2394,2395,2397

現在它拋出一個異常

將varchar值'null'轉換為數據類型int時轉換失敗。

但我想要除了null之外的列的所有其他值...

有沒有辦法將此'null'轉換為'0',但仍然應該存在所有其他值。

使您的數據類型為Nullable<int>而不是int以允許轉換的int nullable值,或者在sql select語句中可以執行此操作: ISNULL(yourcolumn, 0)null轉換為0。

我只是將我的類型聲明為int? variable; int? variable; 這是一個可以為null的int類型。 這樣可以避免出現異常,如果需要,您可以輕松地將值轉換為0

if (value == null)
   value = 0;

由於您說您希望結果中除null值之外的所有值,您可以使用where子句在select語句中對其進行過濾。

SELECT * FROM COLUMN WHERE COLUMN_VALUE IS NOT NULL

或者,如果您使用Linq到EF:

from x in yourObjectContext.yourColumns where x != null

我想你正試圖在數據庫中從NULL更改為0 那你應該試試這個 -

SELECT CASE WHEN columnName IS NULL THEN '0' ELSE columnName END FROM tableName  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM