登录
首页 >  Golang >  Go问答

在clickhouse数据库中插入小数类型数据时,遇到了意外的字符串类型错误

来源:stackoverflow

时间:2024-02-20 14:27:17 370浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《在clickhouse数据库中插入小数类型数据时,遇到了意外的字符串类型错误》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

我是初学者,我不明白为什么插入小数类型字段“money”,它回显“money (decimal(18, 2)):意外类型字符串”

func main() {

    dsn := "tcp://localhost.39:9000?database=test&read_timeout=10&write_timeout=20"
    db, err := gorm.open(clickhouse.open(dsn), &gorm.config{
        namingstrategy: schema.namingstrategy{
            singulartable: true,
        },
    })
    if err != nil {
        log.error(err.error())
    }
    err = db.create(&orderinfo{
        id:         uuid.new().string(),
        money:     decimal.new(15001, -3),
        vip:        "vip0",
        createtime: time.now().unixmicro(),
    }).error
    if err != nil {
        log.error(err.error())
    }

}
create table if not exists test.orderinfo
(
  id String ,
  money Decimal64(2),
  vip  String,
  create_time Int64
  
) engine = MergeTree
partition by (create_time)
order by id;

正确答案


尝试将小数转换为字符串:

strconv.FormatFloat(decimalValue, 'f', -1, 64)

它适用于我的库 github.com/clickhouse/clickhouse-go

好了,本文到此结束,带大家了解了《在clickhouse数据库中插入小数类型数据时,遇到了意外的字符串类型错误》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>