开发者社区 > 云存储 > 正文

表格存储浮点型默认值要怎么写入,又重新写了一次数据,还是排序不了?

表格存储浮点型默认值要怎么写入,又重新写了一次数据,还是排序不了?price 写入时默认为0,但是主表里面看不到字段,是不是这个原因?

展开
收起
青城山下庄文杰 2023-10-26 18:00:22 44 0
3 条回答
写回答
取消 提交回答
  • ots是schema free的,没有默认值,写的啥就是啥,price有值的时候写入的是字符串类型。全部转成浮点后可以看看是否能排序。 此回答整理自钉群“表格存储技术交流群”

    2023-11-02 17:05:12
    赞同 展开评论 打赏
  • 在表格存储中,浮点型字段的默认值是根据数据类型的规定而定的。对于Java语言,整型(byte, short, int, long)的默认值为0,而对于浮点型(float, double),其默认值是0.0。因此,如果您在写入浮点型字段时没有赋予具体的数值,系统会默认使用这个默认值0.0。

    关于您提到的重新写入数据后仍无法排序的问题,这可能与您的查询条件或排序方式有关。请您再次检查您的查询语句和排序方式是否正确。如果问题仍然存在,建议您联系表格存储的技术支持进行进一步的排查和解决。

    2023-10-28 16:05:18
    赞同 展开评论 打赏
  • 在表格存储中,浮点型的默认值可以通过以下方式写入:

    // 创建一个PutRowRequest对象
    PutRowRequest putRowRequest = new PutRowRequest();
    putRowRequest.addPrimaryKey("pk", "my_pk"); // pk是主键,"my_pk"是主键的值
    putRowRequest.addAttribute("attr", "value"); // attr是属性名,"value"是属性值
    putRowRequest.setAttributeValueType(AttributeValueType.FLOAT); // 设置属性的值为浮点型
    putRowRequest.setDefaultValue("attr", 0.0f); // 设置属性的默认值为0.0f
    putRowRequest.submit();
    

    如果你重新写了一次数据,但是排序仍然有问题,可能是因为以下几种情况:

    1. 你可能在排序时使用了错误的索引。你应该确保你在排序时使用的是正确的索引。

    2. 你可能没有正确地设置默认值。你应该确保你在写入数据时正确地设置了默认值。

    2023-10-27 09:26:40
    赞同 展开评论 打赏

阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。

相关电子书

更多
TableStore在社交类场景下的应用 立即下载
表格存储实时数据流Steam的技术揭秘和应用场景 立即下载
表格存储(TableStore) 立即下载