在go 連接oracle中跌榔,如果sql結(jié)果集中某些字段是空值思灌,而scan的結(jié)果又是string 這事兒就會(huì)報(bào) 無(wú)法將nil 賦值給 string對(duì)象的問(wèn)題蝉揍。
解決辦法 :
a趋箩、 sql中使用nvl 指定默認(rèn)的 default 字符串 nvl(col_name,"null")
b啃炸、使用 database/sql/NullString 類型來(lái)進(jìn)行scan铆隘,然后判斷 Valid
var tmpStr NullString
db.Query(sql).Scan(&tmpStr)
if tmpStr.Valid{
//get what you need
}else{
//set default val
}