xiao白跳大神 2022-01-07 21:34 采纳率: 80%
浏览 15

postgrep要求数字最后一位补0怎么处理

问题遇到的现象和发生背景

前台用户会传一个参数,代表这个数值他要多少位,数据库一个字段的一个值是12345 ,然后前台比传4,那么数据库需要用sql查出来是12344位,如果同样的数字用户传6,那么查出来应该要是123456.0 请问这个sql咋写

  • 写回答

1条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-01-08 17:04
    关注

    乍一看以为是精度问题,但细看,这不对呀,这问题描述是不是有问题?
    123456.0这不是7位了么?而且你12345是咋变成的123456.0呀?这个转换规则到底是怎样的?


    其实吧,对于数字而言,小数点后面末尾的0没有任何意义,你现在要求的是显示成你想要的格式,那么这个时候,它其实是按照你要求显示的字符串了,应该用to_char去格式化它

      select to_char(123456,'fm999999999999990.0000000000');
    

    img

    像这个sql,小数点后面接多少个0,它就会保留小数点后多少位进行显示。
    但你这个需求明显有问题,如果数据库里存个1,然后用户传个10,你难道给他显示1.000000000?这有什么意义?而且你问题里,数据库存12345,传4,显示1234,这数字大小都变了啊,这不是个错的么?

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 1月7日

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP