是否可以从Golang中的sql.Rows获取SQL查询字符串?

时间:2017-06-19 21:12:18

标签: sql postgresql go

我有以下代码:

selectPart := "id, user_id, date, time, minutes, details, created_at, updated_at, project_id"
sqlQuery := fmt.Sprintf("SELECT %s FROM time_entries WHERE user_id = $1 AND date >= $2 and date <= $3", selectPart)

var rows *sql.Rows
var err error

if project == nil {
    rows, err = DB.Query(sqlQuery, user.ID, formatDate(from), formatDate(to))
} else {
    rows, err = DB.Query(sqlQuery + " AND project_id = $4", user.ID, formatDate(from), formatDate(to), project.ID)
}

生成的行结构为空。我想这是因为数据的插值是错误的。我正在使用PostgreSQL。我可以以某种方式从rows实例获取SQL字符串吗?

1 个答案:

答案 0 :(得分:1)

  

我可以以某种方式从行实例中获取SQL字符串吗?

没有。这可以通过reading the documentation轻松回答。行没有导出的字段,只有以下方法:

from taggit.managers import TaggableManager

class Post(models.Model):
    ...some model fields...

    tags = TaggableManager()

我不知道为什么你会想要这个...你已经知道使用了什么查询。