有没有一种方法可以在Golang中实现cassandra“decimal”数据类型

qacovj5a  于 2023-04-20  发布在  Cassandra
关注(0)|答案(1)|浏览(171)

我有一个设置为decimal的数据库字段,而在我的Go项目中,我在选择可以使用的数据类型时遇到了问题。每次我向代码发送create reuquest时,我都会得到一个“cannot marshal 'decimal' into #golang datatype#”。
这是我的数据库模式

CREATE TABLE transaction(
organization_id timeuuid,
month text,
employee_id timeuuid,
id timeuuid,
employee_name text,
amount decimal,
deductions int,
date_approved date,
PRIMARY KEY ((organization_id, month), id)


我的Golang模型看起来像这样

type WageGarnishment struct {
ID            gocql.UUID `json:"id"`
organizationID            gocql.UUID `json:"organization_id"`
Month          string     `json:"month"`
Amount        Float64    `json:"amount"`
Deductions    uint       `json:"deductions"`
EffectiveDate time.Time  `json:"effective_date"`
DateApproved  time.Time  `json:"date_approved"`
EmployeeSummary

}
无论我的金额字段中的数据类型如何,我总是得到这个错误:

Error #01: can not marshal float64 into decimal

提前感谢您的帮助

rkkpypqq

rkkpypqq1#

如果你查看Gocql包的文档,那么你会看到decimalMap到Go语言的infDec数据类型(参见its doc),所以你需要使用它而不是Float64

相关问题