`

oracle 小数点前零丢失的问题

 
阅读更多
1.问题起源
      oracle 数据库字段值为小于1的小数时,使用char类型处理,会丢失小数点前面的0
      例如0.35就变成了.35
2.解决办法:用to_char函数格式化数字显示
      select     to_char(0.338,'fm9999999990.00') from dual;
     结果:0.34
     这里重点要看 fm9999999999.99,表示整数部分最多10位,小数部分2位,fm表示去 掉转位字符串后前面的空格,不加fm,0.34前面会有空格的.

3.with的使用
WITH TMP1 AS (
     SELECT 1 AS A, 2 AS B FROM DUAL
     UNION
     SELECT 1 AS A, 3 AS B FROM DUAL
     UNION
     SELECT 1 AS A, 4 AS B FROM DUAL
),
TMP2 AS (
     SELECT 1 AS A, 2 AS B FROM DUAL
     UNION
     SELECT 1 AS A, 3 AS B FROM DUAL
     UNION
     SELECT 2 AS A, 4 AS B FROM DUAL
)
SELECT TMP1.*,TMP2.*
FROM TMP1 JOIN TMP2
ON TMP1.A = TMP2.A
分享到:
评论

相关推荐

    基于oracle小数点前零丢失的问题分析

    在Oracle数据库中,小数点前的零丢失问题是一个常见的数据处理问题,特别是在涉及字符类型(如CHAR或VARCHAR2)与数值类型(如NUMBER)之间的转换时。这个问题主要出现在当数值小于1,并且以字符形式存储时,小数点...

    oracle 如何判断一个字符串能否转换为数字?

    ### Oracle 判断字符串是否能转换为数字的方法 在Oracle数据库中,我们经常需要处理各种数据类型...通过上述方法,我们可以在Oracle中有效地判断一个字符串是否可以转换为数字,从而避免因类型转换错误而导致的问题。

    Oracle 数据类型及存储方式.pdf

    Oracle中的DATE类型存储了世纪、年、月、日、小时、分钟和秒,具体可以达到小数点后三位的秒数精度。由于日期时间型数据需要记录时间信息,其存储格式通常为7个字节。 LOB数据类型包括CLOB、NCLOB和BLOB等,用于...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位。 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),...

    Oracle数据库笔记

    - **内存**:存取速度快,但数据易丢失。 - **文件**:可永久存储,但读写速度相对较慢。 - **数据库**:结合内存与文件优势,实现高效稳定的数据存储。 - **数据库定义**:数据库并非简单的存储方式,而是通过...

    Oracle1Z0-007.pdf

    Oracle 1Z0-007 考试是Oracle数据库管理相关的认证考试,涵盖了数据库概念、DML语句、DDL语句、查询优化等多个方面。以下是对题目中涉及的知识点的详细解释: 1. 插入语句:在EMPLOYEES表的结构中,EMPLOYEE_ID是...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

    SQL语句优化规律总结(ORACLE).txt

    了解并合理使用数字类型可以帮助避免意外的数据丢失或精度问题。 通过上述总结,我们可以看出SQL语句优化涉及多个方面,包括但不限于合理的索引设计、查询结构优化、数据类型选择等。正确应用这些原则和技术,可以...

    oracle日期时间型timestamp的深入理解

    Oracle数据库中的日期时间型数据类型`timestamp`是一个非常重要的概念,它用于存储精确到纳秒的时间戳信息。本文将深入探讨`timestamp`的使用、转换以及与其他日期时间类型交互的方法。 1. **字符型转成timestamp**...

    TimesTen 连接属性

    TimesTen 是 Oracle 公司的一款高性能的内存数据库系统,它以快速的数据处理和低延迟著称。连接属性是 TimesTen 数据库配置中的关键元素,它们影响着客户端与数据库之间的交互方式以及数据的安全性和稳定性。以下是...

    数据类型关系映射表

    - **注意事项**:Oracle 中的 `CHAR` 类型同样用于存储固定长度的字符串,映射时需注意字符集兼容性问题。 - **FLOAT (Oracle) → DOUBLE (JDBC)** - **解释**:Oracle 中的 `FLOAT` 类型映射为 JDBC 的 `DOUBLE...

    关于数据库中保留小数位的问题

    此外,处理小数位时还要注意溢出和精度丢失的问题。比如,浮点数类型在存储和计算过程中可能存在微小的误差,而定点数类型虽然能保证精度,但存储空间相对较大,且超出预设精度的运算可能导致错误。因此,在设计...

    SQL语句基础学习 帮你明了数值数据类型

    例如,Oracle和SQL Server对于相同数据类型的处理方式可能不同,可能导致数据截断或精度丢失。因此,理解这些差异并适当地调整数据类型定义是确保数据完整性的重要步骤。 总的来说,理解和掌握SQL中的数值数据类型...

    关于学生成绩管理系统建立的详细数据库

    在数据库管理系统(如MySQL、Oracle或SQL Server)中创建这三个表,并根据实际需求选择合适的数据类型和索引策略。例如,学生ID和课程ID可以设置为整数类型,并作为主键,以确保唯一性;成绩可以是浮点数类型,确保...

    整理后java开发全套达内学习笔记(含练习)

    System.out.printf() 可插入带 % 的输入类型,前两种只可以插入转义符, 不能插入 % 的数据或字符串 在 printf 里面,输出有5个部分 %[argument_index$][flags][width][.precision]conversion 以“%”开头,[第几个...

    6天MySQL数据库学习笔记

    - **浮点型**与**定点型**:浮点型(如Float和Double)支持小数点浮动,但精度有限且可能丢失精度;定点型(如Decimal)则具有固定的精度,适用于金融等需要高精度计算的场景。 - **时间日期类型**:MySQL支持多种...

    用友系统管理操作说明书

    - **数据库**: 可选择SQL Server、Oracle等主流数据库管理系统。 - **其他**: 需要.NET Framework 3.5或以上版本等支持软件。 #### 四、系统安装、启动和退出 **3.1 系统的安装** - **准备工作**: 确保计算机已...

Global site tag (gtag.js) - Google Analytics