`
luhantu
  • 浏览: 205054 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

数据库数据类型默认转换

阅读更多

在sql server中执行1/2 和在oracle中执行1/2结果是不同的,sql server中结果为0,在oracle结果为0.5.

这是为什么呢?关键在于不同数据库对数据类型的默认转换。

在SQL Server中当每一步的计算式中计算符的两边全部为整型时,它会自作聪明的将结果转为整型(而且是舍去小数位,直接截断,而不是四舍五入)。 

在Oracle中却不会这样自作聪明的。

所以在sql server中如果1.0/2 结果为0.500000,而在oracle中1/2 和1.0/2 结果都一样,都为0.5.

但是如果你想在sql server中得到想要的值,可以采用cast()或者convert()函数来类型转换。

SELECT CAST(1 AS decimal(9,2))/2;//把1转变为带精度的数字,结果为0.500000
SELECT CONVERT(decimal(9,2),1)/2;

 如果想对结果做处理,譬如保留小数点位数,四舍五入等,可以在结果上再次做类型转换或者函数运算。

SELECT CAST((CAST(1 AS decimal(9,2))/2) AS decimal(9,2));//保留两位小数
SELECT CONVERT(decimal(9,2),CONVERT(decimal(9,2),1)/2);//结果为0.50
SELECT ROUND(1.66777,3,7);//第二个参数为舍入的精度,第三个参数如果指定了 0(类型为tinyint、smallint 或 int) 以外的值,则将做截取操作。结果为1.66700
SELECT ROUND(1.66777,3);//第三个参数如果省略或其值为0(默认值),则将做四舍五入操作。结果为1.66800

 

 

1
0
分享到:
评论

相关推荐

    Access数据库主要数据类型

    ### Access数据库主要数据类型详解 #### 一、引言 Microsoft Access是一款广泛使用的桌面数据库管理系统,它使用Microsoft Jet数据库引擎来存储数据。Access支持多种数据类型,每种数据类型都有其特定的应用场景和...

    神通数据库-数据库快速入门.pdf

    作为企业级大型、通用对象关系型数据库管理系统,神通数据库为用户提供的功能包括: • 支持丰富的数据类型 ...的默认映射关系、数据类型的精度匹配、空与非空信息提取、主键及相关索引建立等辅助功能,帮助用

    nvarchar binary数据类型转换

    在SQL Server数据库管理系统中,`nvarchar`...理解这两种数据类型的特点以及如何在它们之间进行转换,是数据库管理中不可或缺的技能。通过使用上述方法,开发者能够有效地管理和操作这两类数据,从而满足各种业务需求。

    将postgres 表结构和数据转换到sqllite数据库中的工具类源码

    这可能涉及到数据类型的映射,因为两种数据库的数据类型不尽相同。 4. **数据迁移**:遍历PostgreSQL表中的每一行数据,将其插入到SQLite对应表中。这可能需要处理数据类型转换、事务管理等问题,以确保数据的一致...

    SQL数据类型与C#数据类型转换

    ### SQL数据类型与C#数据类型的转换 在开发过程中,我们经常会遇到需要将数据库中的数据类型映射到编程语言中的情况。特别是在使用SQL Server作为后端数据库与C#进行交互时,了解这两种环境下的数据类型及其对应...

    Access数据库中的数据类型与SQL项目中的数据类型的不同之处.pdf

    Access 数据库中的数据类型决定了字段可以拥有的数据类型的字段特征,包括 Boolean、Integer、Long、Currency、Single、Double、Date、String 和 Variant(默认)。 Access 数据库中的数据类型可以根据以下条件...

    米软异构数据库转换

    "米软异构数据库转换"是一款专业的数据库管理工具,它具备强大的数据迁移功能,能够方便地在多种数据库系统之间进行数据转换。这款工具支持的数据库类型包括SQLite、MySQL、SQL Server、Access以及SQL Server CE和...

    postgresql数据类型转换.pdf

    PostgreSQL是一款强大的开源关系型数据库管理系统(RDBMS),广泛应用于各个行业和领域,提供了丰富和灵活的数据类型和类型转换功能。在数据库操作中,根据实际应用需求,经常需要对数据进行类型转换。本文档详细...

    JAVA数据类型转换

    在Java编程语言中,数据类型转换是常见的操作,特别是在处理用户输入、数据库交互或进行数学计算时。数据类型的转换分为两种:隐式转换(自动类型提升)和显式转换(强制类型转换)。本篇文章主要讨论显式转换,即...

    Oracle数据库基本数据类型[借鉴].pdf

    在进行软件开发时,了解Oracle数据库的基本数据类型至关重要,因为它直接影响到数据的存储、处理和检索效率。以下是对Oracle数据库基本数据类型的详细介绍: 1. **CHAR(n)**:CHAR是一种固定长度的字符串类型,最大...

    pbootcms数据sqlite转mysql数据库

    1. **数据类型映射**:SQLite和MySQL的数据类型不尽相同,需要理解两者之间的映射规则,例如SQLite的`TEXT`可能对应MySQL的`VARCHAR`,`INTEGER PRIMARY KEY`对应`INT AUTO_INCREMENT`等。 2. **SQL语法差异**:...

    MySQL数据库中CAST与CONVERT函数实现类型转换的讲解

    在MySQL数据库中,数据类型转换是非常常见的操作,特别是在处理各种数据源混合的数据时。CAST和CONVERT两个函数提供了这样的功能,允许我们把一种数据类型转换为另一种数据类型。以下是这两个函数的详细介绍和示例。...

    MySqlOracleSqlServer三大数据库的数据类型列表汇编.docx

    【MySQL 数据类型】 MySQL 数据类型主要分为以下几类: ...每个数据库系统都有其特定的数据类型,选择合适的数据类型对于优化存储和提高查询效率至关重要。理解这些数据类型及其使用场景是数据库设计和管理的基础。

    恢复数据库_把后缀.frm,.myd,myi转换为.sql导入mysql数据库

    对于那些数据库崩溃或者迁移过程中需要进行数据恢复的情况来说,掌握这一转换流程至关重要。 #### 知识点详述: **1. 文件类型简介** - **.frm 文件**:该文件存储了表结构的相关信息,包括字段名称、字段类型、...

    把mysql数据库中的数据导入到oracle数据库中

    #### 三、通过Oracle SQL Developer转换数据库 **1. 直接从现有MySQL数据库迁移到Oracle** - 不需要恢复MySQL数据库,直接使用SQL Developer将数据迁移到Oracle数据库。 - 在Oracle数据库中创建好与MySQL数据库...

    从Excel中读取数据导入到数据库中

    1. **转换数据类型**:在Excel中,将列的数据类型改为“文本”可以暂时解决,但这并不适用于所有情况,尤其是当数据需要导入数据库时。 2. **拆分数据**:在编程环境中,可以将超长文本拆分为多个字段,或者在数据库...

    postgres 数据库中的数据转换

    自版本8.3以来,PostgreSQL取消了字段数据之间的默认转换,这意味着如果你想在不同数据类型之间进行转换,你需要显式地指定转换方式。这通常通过使用双冒号“::”操作符来完成,它实际上是在调用内置的CAST函数。 `...

    thinkphp5框架实现数据库读取的数据转换成json格式示例

    总之,ThinkPHP5框架提供了方便的方法来处理数据库数据,将其转换为JSON格式,以适应前端展示和数据交互的需求。了解如何有效地使用这些工具和方法,能够提升开发过程的效率和代码质量。对于进一步学习,可以查阅...

    数据库转换日期格式

    - **CONVERT()**:该函数可以将一个表达式从一种数据类型转换为另一种数据类型。其语法为: ```sql CONVERT(target_data_type(length), expression, style) ``` 其中`target_data_type(length)`表示目标数据类型...

    Oracle数据库字段类型详解

    ### Oracle数据库字段类型详解 #### 字符串类型 ...接下来的部分将继续介绍日期时间数据类型、大型对象(LOB)数据类型、RAW 和 LONGRAW 数据类型、ROWID 和 UROWID 数据类型以及特殊数据类型等内容。

Global site tag (gtag.js) - Google Analytics