GORM是否有十进制数据类型来存储货币值(-> Decimal(8,2)
)?
问问题
10682 次
4 回答
16
迈克尔的回答有效。但是如果你想在 golang 中使用十进制类型,你可以像这样使用shopspring/decimal:
type TableName struct {
Amount decimal.Decimal `json:"amount" sql:"type:decimal(20,8);"`
}
于 2017-09-05T09:12:09.067 回答
4
这个对我有用:
type Product struct {
decimal.Decimal `gorm:"type:decimal(7,6);"`
}
我也在尝试建议,但在使用 gorm 时,sql:
列最终会成为sqlite3 中的字段。text
AutoMigrate()
于 2020-11-02T20:53:29.273 回答
4
如果您使用AutoMigrate,您可以提供GORM SQL 指令(在您的结构模型中)关于如何构建表。尝试以下操作:
type Product struct {
Id int
ProductName string `sql:"type:varchar(250);"`
Amount float32 `sql:"type:decimal(10,2);"`
}
于 2016-02-15T04:25:22.780 回答
4
我知道这有点老了,但我遇到了这个问题,很难找到答案。如果您将 Gorm 与 liquibase 一起使用,请将 BigDecimal 用于任何浮点数。
于 2017-05-22T14:15:29.500 回答