doris数据库操作数字遇到的问题
关于doris数据库
Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即时查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。其他相关信息请自行某度。
问题描述
项目上遇到了一个奇怪的问题,SQL查询出来明明没问题,到页面显示出现了0E-9。之前也出现过类型的,小数点后显示了很多多余的0。各种跟代码(以为是程序进行了相关的处理,但并无)、百度无果,而且doris相关的文章都是介绍如何安装、使用之类的,对于出现的问题,以及解决方案几乎没有。项目实际情况截图如下

问题排查
3.1. 跟踪代码
断点到执行SQL前跟踪了一下SQL和执行后的结果,发现java.sql.Connection.prepareStatement执行返回的结果与界面显示一致。虽然有过怀疑是否可能是工具类的bug,但暂时不深究,所以继续往下排查
3.2. 数据库工具执行SQL
原始SQL是处理通用的统计查询:交叉报表,为了兼容多种数据库类型

执行SQL原始情况截图

莫名其妙,但又觉得神奇。按照业务SQL,编写了模拟的SQL查询,貌似也没问题

然后就反复测试原始SQL,测试各种可能会出现问题的点,均无果。
发现问题的契机,就是在双击查询结果的单元格后被发现了:doris会把浮点型数字后追加若干个0。但是为什么有这种机制,是否可以通过数据库设置避免,等以后有时间再去深究吧
整数查询

小数查询

解决方案
方案有多种,比如直接代码处理;或者业务设置保留小数位数后,修改SQL保留等,比如

或者熟悉doris的大佬可以提供更好的方案吧
doris使用心得
就目前开发上使用doris数据库的体验来说,并不友好。虽然他有各种优点,但在开发阶段,基本都没用到过,不过其他基本的功能却有很多不支持
不支持WITH语句:需要改成子查询的方式;
left join语句查询时,右表数据量不能比左表大,否则会查询异常;
相关文章:
doris数据库操作数字遇到的问题
关于doris数据库Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。…...
3.13文件的IO操作
一.文件1.定义文件一般指的是存储在硬盘上的普通文件形如:txt.jpg.mp4,rar等这些文件在计算机中,文件可能是一个广义的概念,不仅可以包含普通文件,还可以包含目录(也就是文件夹.把目录称为目录文件)在操作系统中,还会用文件来描述一些其他的硬件设备或者软件资源比如网卡,显示器…...
ffmpeg使用
1 下载FFmpeg安装 官网地址:https://www.ffmpeg.org/download.html#build-windows 进入网址,点击下面红框部分 点击下面范围进行下载,下载速度有点慢,等等吧! 下载成功后,解压后,复制bin的路…...
spark中的并行度(分区数)/分区器如何确定
源头RDD有自己的分区计算逻辑,一般没有分区器,并行度是根据分区算法自动计算的,RDD的compute函数中记录了数据如何而来,如何分区的hadoopRDD,根据XxxinputFormat.getInputSplits()来决定,比如默认的TextInputFormat将文…...
00后女生“云摆摊”两周赚1.5万,实体店转战线上真的能赚钱吗?
最近,山东临沂的00后女生利用小程序在线上“云摆摊”卖水果,两周赚1.5万,引发网友热议。不少人发出质疑的声音:年轻人不要有稳定的工作不做,去摆摊;网上开店成本低,开实体店结果就难说了&#x…...
华为OD机试题 - 最优资源分配(JavaScript)| 机考必刷
更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解:最优资源分配题目输入输出描述备注示例一输入输出说明示例二输入…...
利用python判断字符串是否为回文
1 问题 如何用python判断字符串是否为回文。 2 方法 用两个变量left,right模仿指针(一个指向第一个字符,一个指向最后一个字符),每比对成功一次,left向右移动一位,right向左移动一位,…...
GDB 调用之ptype、set variable
今天在公司的时候,排查一个问题,创建l3 lif 失败,查看各种日志发现是用key去创建的 lif失败了,日志里指示key为空,导致的创建失败。原因为一个结构体比基线的多了一些东西,导致版本不对,既而计算…...
并发编程---阻塞队列(五)
阻塞队列一 阻塞队列1.1.阻塞队列概念1.2.阻塞队列API案例1.2.1. ArrayBlockingQueue1.2.1.1.抛出异常1.2.1.2.返回布尔1.2.1.3.阻塞1.2.1.4.超时1.2.2.SynchronousQueue二 阻塞队列应用---生产者消费者2.1.传统模式案例代码结果案例问题---防止虚假唤醒2.2.⽣产者消费者防⽌虚…...
本科课程【计算机组成原理】实验1 - 输出ABCD程序的生成
大家好,我是【1+1=王】, 热爱java的计算机(人工智能)渣硕研究生在读。 如果你也对java、人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!! Good better best, never let it rest, until good is better, and better best. 近期会把自己本科阶段的一些课程设计、实验报…...
Java并发编程(2) —— 线程创建的方式与原理
一、Java线程创建的三种方式 1. 继承Thread类并重写run()方法 ///方法一:使用匿名内部类重写Thread的run()方法Thread t1 new Thread() {Overridepublic void run() {try {sleep(10000);} catch (InterruptedException e) {e.printStackTrace();}log.debug("…...
你写的js性能有多差你知道吗 | js性能优化
性能的计算⽅式 确认⾃⼰需要关注的指标 常⻅的指标有: ⻚⾯总加载时间 load⾸屏时间⽩屏时间 代码 尝试⽤⼀个指令, 挂载在重要元素上, 当此元素inserted就上报 各个属性所代表的含义 connectStart, connectEnd 分别代表TCP建⽴连接和连接成功的时间节点。如果浏…...
线程的状态、状态之间的相互转换
目录 一、线程的状态 1. NEW 2. TERMINATED 3. RUNNABLE 4. TIMED_WAITING 5. BLOCKED 6. WAITING 二、线程状态转换 1. 线程状态转换简图 一、线程的状态 线程的状态一共有 6 种: NEW:安排了工作,还未开始行动(调用 st…...
Java8使用Lambda表达式(流式)快速实现List转map 、分组、过滤等操作
利用java8新特性,可以用简洁高效的代码来实现一些数据处理。1 数据准备1.1 定义1个Fruit对象package com.wkf.workrecord.work;import org.junit.Test;import java.math.BigDecimal; import java.util.ArrayList; import java.util.List;/*** author wuKeFan* date …...
C++之深浅拷贝
一、浅拷贝 我们看下以下代码 Test.h 文件 #pragma once #include<iostream> using namespace std; class Student { public:Student(){}~Student(){if (m_Id ! nullptr){delete m_Id;m_Id nullptr;}}Student(int id, string strName){m_Id new int[id];m_strName s…...
CoreLocation的一切
Overview 概述 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pgnvehxf-1678717852996)(./blog_cover.png)] Core Location 提供的服务可以确定设备的地理位置、高度和方向,或者它相对于附近 iBeacon 设备的位置。 该框架使用设备上的所…...
HashMap原理
初始化 从HashMap 源码中我们可以发现,HashMap的初始化有一下四种方式 //HashMap默认的初始容量大小 16,容量必须是2的幂 static final int DEFAULT_INITIAL_CAPACITY 1 << 4; // HashMap最大容量 static final int MAXIMUM_CAPACITY 1 <&…...
STM32入门笔记(02):独立看门狗(IWDG)和窗户看门狗(WWDG)(SPL库函数版)
1.IWDG狗简介 除了始终控制器的RCC_CSR寄存器的父为标志位和备份区域中的寄存器以外,系统复位 将复位所有寄存器至它们的复位状态。 当发生以下任一事件时,产生一个系统复位: 1.NRST引脚上的 低 电平,即 外部复位;2…...
javaSE系列之方法与数组的使用
[TOC] javaSE系列之方法与数组的使用 方法的定义 方法类似于C语言中的"函数"。 方法的种类 这里方法分为有参方法也分为无参方法, 形参和实参是两个实体(这里相当于函数的传值调用和传址调用) 1.非静态方法:普通方法/…...
常用命令总结
将常用命令汇集于此,以便在忘记的时候查询,持续更新…… Git Local changes 添加名字: git config --global user.name "<你的名字>"添加邮件: git config --globa user.email "<你的邮箱>"…...
终极跨平台桌面待办工具:My-TODOs如何重塑你的任务管理体验
终极跨平台桌面待办工具:My-TODOs如何重塑你的任务管理体验 【免费下载链接】My-TODOs A cross-platform desktop To-Do list. 跨平台桌面待办小工具 项目地址: https://gitcode.com/gh_mirrors/my/My-TODOs 你是否厌倦了复杂的任务管理软件?是否…...
网易技术岗校招通关秘籍:从需求画像到Offer收割(实战篇)
1. 网易技术岗校招需求画像解析 第一次参加大厂校招的同学,往往会被各种岗位JD绕晕。去年我带过一个浙大的学弟,他同时投了网易的Java和后端开发岗,结果发现笔试题目完全不同。后来才知道,网易不同业务线对"后端开发"的…...
PyVideoTrans:3步实现视频AI翻译配音,支持30+AI模型的完整解决方案
PyVideoTrans:3步实现视频AI翻译配音,支持30AI模型的完整解决方案 【免费下载链接】pyvideotrans Translate the video from one language to another and embed dubbing & subtitles. 项目地址: https://gitcode.com/gh_mirrors/py/pyvideotrans …...
告别Hello World!手把手教你用OllyDBG修改exe程序字符串(附完整操作截图)
逆向工程第一课:用OllyDBG实战修改程序字符串全流程 刚接触逆向工程的新手往往会被各种复杂工具和概念吓退。今天我们从最基础的字符串修改入手,用OllyDBG带你完成第一个逆向实战。不同于简单的"Hello World"打印,这次我们要直接修…...
BetterNCM安装器:3分钟解锁网易云音乐隐藏功能
BetterNCM安装器:3分钟解锁网易云音乐隐藏功能 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐PC版功能单一而烦恼?BetterNCM安装器就是你需要…...
Visual C++运行库合集(vcredist)深度解析与高级部署方案
Visual C运行库合集(vcredist)深度解析与高级部署方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist Visual C运行库合集(vcredist)是解决Windows系统依赖问题的…...
华为光猫配置解密工具:网络运维的终极解决方案
华为光猫配置解密工具:网络运维的终极解决方案 【免费下载链接】HuaWei-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/hu/HuaWei-Optical-Network-Terminal-Decoder 华为光猫配置解密工具是一款专为网络工程师和运维人员设计…...
VideoDownloadHelper深度解析:破解主流视频平台下载限制的技术实战
VideoDownloadHelper深度解析:破解主流视频平台下载限制的技术实战 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为无法保存…...
CommandAI:用自然语言驱动命令行,AI赋能开发运维效率革命
1. 项目概述:当命令行遇上AI,效率革命的新起点 如果你和我一样,每天有超过一半的工作时间是在终端(Terminal)里度过的,那你一定对命令行(Command Line)又爱又恨。爱的是它的高效、精…...
光子计算如何突破LLM推理中的KV缓存瓶颈
1. 光子计算在KV缓存管理中的突破性应用在当今大语言模型(LLM)推理领域,一个令人惊讶的事实正在发生:计算能力已不再是主要瓶颈。随着上下文窗口从最初的几千token扩展到如今的百万级(如Qwen2.5)࿰…...
