oracle - 从 Oracle DB 加载数据时,列值作为子字符串出现
问题描述
这是我的 Oracle 表:
Table Name: Employee
----------------------
Emp_Id Emp_Name
12345 Sussane
54321 Alex
以下SELECT
查询在 SQL Developer 中得到正确的结果:
SELECT Emp_Id,Emp_Name from Employee;
该查询的结果:
12345 Sussane
54321 Alex
但是当我使用 GoLang 加载此表时,有时(并非总是),我得到如下结果:
运行 1:
1 Sussane
5 Alex
运行 2:
12 Sussane
54 Alex
我的代码:
rows, dbQueryErr:= db.QueryContext(ctx,"SELECT Emp_Id,Emp_Name from Employee")
if dbQueryErr != nil{
return nil,dbQueryErr
}
defer rows.Close()
cols, readColErr := rows.Columns()
if readColErr!= nil{
rows.Close()
return nil,readColErr
}
for rows.Next() {
columns := make([]interface{}, len(cols))
columnPointers := make([]interface{}, len(cols))
for i, _ := range columns {
columnPointers[i] =&columns[i]
}
if err := rows.Scan(columnPointers...); err != nil {
logger.Println("Main Data Query Scan Err:", err)
return nil, err
}
m := make(map[string]interface{})
for i, colname := range cols {
val := columnPointers[i].(*interface{})
m[colname] = *val
}
var sKeys string=keyColumns[0]
mapString := make(map[string]string)
for key,value := range m{
strKey := fmt.Sprintf("%v", key)
strValue := fmt.Sprintf("%v", value)
mapString[strKey] = strValue
}
fmt.Println("m--->", m)
}
注意:在m--->
,我得到不正确的结果。
解决方案
推荐阅读
- javascript - 如何使用 mongoose 创建模块以共享不断变化的数据库连接
- python - 向数据框索引添加标识符
- c - 我在 C 中为日期使用什么格式说明符?
- server - 访问具有多个 IP 地址的 Ubuntu 20.04 服务器
- pandas - 在 Pyspark 中按级别绘制直方图
- reactjs - 对至少一个值为真的对象数组进行 YUP 验证
- python - 这个 MB/s 公式对吗?Python
- python - 在python中存储自定义对象字典的最佳方法?
- python - Pandas:从另一个数据帧更新数据帧中的特定值
- javascript - 子组件不识别道具从父组件更改