SQL Select 语句小数位数影响计算的准确率的问题

在财务数据计算中,特别是分摊过程中,0.0001% 和0.00012%看似极小的差异,但是会造成最后求和很大的差异,因此,我们在计算中需要尽可能多的保留占比的小数位数

可以在SELECT CONVERT(float,x) /CONVERT(float,y) as pct ......

或者显示的指定精度解决,CONVERT(DECIMAL(38,12),x) /CONVERT(DECIMAL(38,12),y) as pct

两种方法都可解决

原文地址:https://www.cnblogs.com/ElfoDigger/p/10185510.html

时间: 2024-10-14 18:03:04

SQL Select 语句小数位数影响计算的准确率的问题的相关文章

SQL Select语句完整的执行顺序

SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5.使用having子句筛选分组: 6.计算所有的表达式: 7.select 的字段:8.使用order by对结果集进行排序.SQL语言不同于其他编程语言的最明显特征是处理代码的顺序.在大多数据库语言中,代码按编码顺序被处理.但在SQL语句中,第一个被处理的子句式FROM,而不是第一

Oracle 基本SQL SELECT语句

SELECT  *  |    {   [ DISTINCT  ]    column   |    expression   [   alias   ]  ,   ...    } FROM  table; ?SELECT  标识 选择哪些列. ?FROM    标识从哪个表中选择. column后面加上空格,同时跟上别名(alias),或者 as 别名,到下一行的内容时,要用逗号隔开, 默认的别名是小写的,如果想要让它是大写的,使用 "别名" 如果别名有多个单词的时候,用双引号别名

SQL SELECT 语句

SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL SELECT 语法 SELECT 列名称 FROM 表名称 以及: SELECT * FROM 表名称 注释:SQL 语句对大小写不敏感.SELECT 等效于 select. SQL SELECT 实例 如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似

SQL SELECT语句

基本SQL SELECT语句   1.       下面的语句是否可以执行成功 select ename , job , sal as salary from emp; 2.       下面的语句是否可以执行成功 select  *  from emp; 3.       找出下面语句中的错误 select empno , ename sal * 12  ANNUAL  SALARY from emp; 修改后 select empno , ename ,sal * 12  "ANNUAL  

[1]SQL SELECT 语句

SQL SELECT 语句 "Websites" 表的数据: +----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ |

Local prefixed index和Local nonprefixed index对select语句的性能影响分析

1.搞清楚两种索引的概念 在比较两种索引对select产生的影响之前,先要搞清楚,什么是Local prefixed index,什么叫Local nonprefixed index.其实,这两种索引,都是属于分区local索引,所以,这两种类型的索引,只有可能在分区表上才会出现. 1.1 什么是Local prefixed index 是指索引中的列,就是分区表的分区键列,或者是索引中的列,包含表的分区键值列,并且为前置位 置在索引最前部位置的本地分区索引. 例如,emp表是按时间范围分区的表

Oracle系列二 基本的SQL SELECT语句

1.查询表中全部数据 示例: SELECT * FROM employees; 说明: SELECT   标识 选择哪些列. FROM      标识从哪个表中选择. *           选择全部列 2.查询表中特定列数据 示例: SELECT department_id, location_id FROM departments; 注意: SQL 语言大小写不敏感. SQL 可以写在一行或者多行 关键字不能被缩写也不能分行 各子句一般要分行写. 使用缩进提高语句的可读性. 算术运算符 数字

Oracle OCP 官方PPT学习日志 使用 SQL SELECT 语句检索数据 01

连接运算符,|| 注:也可以将日期表达式连接到其他表达式或列. 文字字符串 SELECT last_name ||' is a '||job_id AS "Employee Details" FROM employees; 其它引号(q)运算符 许多SQL语句都在表达式或条件中使用字符文字.如果文字本身包含一个单引号,则可以使用引号(q)运算符并选择自己的引号分隔符. 可以选择所需要的任何分隔符,单字节或多字节分隔符,或者下列字符对中的任何一种:[ ].{ }.( )或< >

sql select语句详解

先group by 后  order by SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]    * | expression [ AS output_name ] [, ...]    [ FROM from_item [, ...] ]    [ WHERE condition ]    [ GROUP BY expression [, ...] ]    [ HAVING condition [, ...] ]    [ {