go-oci8 nil 字符的问题

在go 连接oracle中,如果sql结果集中某些字段是空值,而scan的结果又是string 这事儿就会报 无法将nil 赋值给 string对象的问题。

解决办法 :
a、 sql中使用nvl 指定默认的 default 字符串 nvl(col_name,”null”)
b、使用 database/sql/NullString 类型来进行scan,然后判断 Valid

var tmpStr NullString

db.Query(sql).Scan(&tmpStr)
if tmpStr.Valid{
//get what you need
}else{
//set default val
}

    原文作者:shanggl
    原文地址: https://www.jianshu.com/p/918e0127ebb9
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞