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日

悬赏问题

  • ¥100 sql reporting service 远程smtp服务器配置支持
  • ¥15 ppyoloe_r带角度目标检测,loss_cls没法收敛
  • ¥15 淘宝交易指数如何解读,其关联的数据指标是什么
  • ¥15 Linux下安装搜狗拼音不能显示中文
  • ¥15 事件7000导致的自动重启如何解决
  • ¥15 (标签-matlab|关键词-m3)
  • ¥20 做一个web书店,带答辩
  • ¥15 #求带 python,使用pycharm爬取智联招聘数据资源并保存为Excel文件,同时以图表形式呈现
  • ¥15 学校优化算法怎么样,国内用的多吗?
  • ¥15 微信购物商城购物车的所有功能以及购物车,和首页的搜索功能