精华内容
下载资源
问答
  • 情景:项目中遇到统计的一些查询,结果就会遇到带有小数的结果,一般要求对结果进行四舍五入保留两位小数。 解决方式有以下两种: 方式一:使用 round(m,2)函数 //注:m为所需处理字段值,2为保留几位小数 ...

    情景:项目中遇到统计的一些查询,结果就会遇到带有小数的结果,一般要求对结果进行四舍五入保留两位小数。

    解决方式有以下两种:

    方式一:使用 round(m,2)函数 //注:m为所需处理字段值,2为保留几位小数

    select round(AVG(score),2) as average  from student
    //round(89.457,2) 平均数89.457 四舍五入89.46
    

    方式二:使用convert(m,decimal(10,2))函数 //注:m为所需处理字段值,2为保留几位小数

    select convert(AVG(score),decimal(10,2)) as average  from student
    //convert(89.457,decimal(10,2)) 平均数89.457 四舍五入89.46
    

    额外补充:常用的如AVG()为统计平均数函数,SUM()为求和函数,MAX()为查询最大函数,MIN()为查询最小函数和date_format(date, format)时间格式转换。

    Ok就到这里啦( ^ - ^ )

    展开全文
  • Oracle中,利用sql语句中的函数实现保留两位小数四舍五入保留两位小数; select trunc(1.23856789,2) from dual round(m,n) 可以四舍五入 trunc(m,n) 直接丢弃,不四舍五入
    Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数;
    select trunc(1.23856789,2) from dual
    round(m,n) 可以四舍五入
    trunc(m,n) 直接丢弃,不四舍五入
    展开全文
  • round实现四舍五入(小数位>2) select round(123.4567,2) round(小数位小于2) select round(123.4,2) round小数位小于2,不足补0 select round(123,2) || '' cast (xx as decimal( x, x)) cast 保留两位...

    round

    round实现四舍五入(小数位>2)

    select round(123.4567,2)
    在这里插入图片描述

    round(小数位小于2)

    select round(123.4,2)
    在这里插入图片描述

    round小数位小于2,不足补0

    select round(123,2) || ''
    在这里插入图片描述

    cast (xx as decimal( x, x))

    cast 保留两位小数(直接隔断,小数位大于2)

    select cast(123.456 as decimal(20,2))
    在这里插入图片描述

    cast 小数位小于2

    select cast(123.4 as decimal(20,2))
    在这里插入图片描述

    cast 小数位小于2,补0

    select cast(123 as decimal(20,2)) || ''
    在这里插入图片描述

    展开全文
  • 一、问题描述 数据库里的 float momey 类型,都会精确到多位小数。但有时候 我们不需要那么精确,例如,只精确...缺点:Round() 只是负责四舍五入两位小数,但是不负责截断。 printROUND(13.145,2); 或者selec...

    一、问题描述

     数据库里的 float momey 类型,都会精确到多位小数。但有时候 我们不需要那么精确,例如,只精确到两位有效数字。

    二、解决:

    1. 使用 Round() 函数,如 Round(@num,2) ,其中参数 2 表示 保留两位有效数字。

    缺点:Round() 只是负责四舍五入到两位小数,但是不负责截断。

    print ROUND(13.145, 2);

    或者select ROUND(13.145, 2);

    结果为:13.150。

    2. 使用 Convert(decimal(18,2),@num) 实现转换,其中参数 2 表示 保留两位有效数字。

    print Convert(decimal(18,2),13.145) 

    结果为:13.15。

    3.使用 cast(@num as decimal(18,2)) 实现转换,其中参数 2 表示 保留两位有效数字。

    print cast(13.145  as  decimal(18,2))

    结果为:13.15。

    4、CAST与CONVERT相同点:

    在大部分情况下,两者执行同样的功能,都可以执行数据类型转换,且都默认实现了四舍五入,

    相当于 print cast(round(13.145)   as   numeric(18,2))  。

    5、CAST与CONVERT不同点:

      CONVERT还提供一些特别的日期格式转换,而CAST没有这个功能。

      既然CONVERT包括了CAST的所有功能,而且CONVERT还能进行日期转换,那么为什么需要使用CAST呢?实际上,这是为了ANSI/ISO兼容。CAST是ANSI兼容的,而CONVERT则不是。

      语法:

      CAST (expression AS data_type [ (length ) ])
    
      CONVERT (data_type [ ( length ) ] , expression [ , style ])

     

      示例:

      SELECT 'AB' + 1    --此语句报错,在将 varchar 值 'AB' 转换成数据类型 int 时失败。
    
      SELECT 'AB' + CAST(1 AS varchar)    --输出 AB1
    
      SELECT 'AB' + CONVERT(varchar,1)    --输出 AB1

      CAST和CONVERT都能转换时间:

      SELECT CONVERT(DateTime,'2011-07-11')    --输出 2011-07-11 00:00:00.000
    
      SELECT CAST('2011-07-11' AS DateTime)    --输出 2011-07-11 00:00:00.000

      但是时间转字符串,CAST没有CONVERT这么多花样:

      SELECT CONVERT(varchar,GETDATE(),5)    --输出 01-07-13
      SELECT CONVERT(varchar,GETDATE(),111)  --输出 2013/07/01
      SELECT CONVERT(varchar,GETDATE(),1)    --输出 07/01/13
    
      SELECT CAST(GETDATE() AS varchar)    --输出 07 1 2013 9:56PM

     

    convert()函数更多详情,请看菜鸟教程

    http://www.runoob.com/sql/func-convert.html

     

    转自:https://www.cnblogs.com/hao-1234-1234/p/8574188.html

    展开全文
  • 一、问题描述 数据库里的 float momey 类型,...缺点:Round() 只是负责四舍五入两位小数,但是不负责截断。 printROUND(13.145,2); 或者selectROUND(13.145,2); 结果为:13.150。 2. 使用 Convert(decimal(...
  • sql 保留两位小数+四舍五入

    万次阅读 2017-02-08 12:21:11
    1. ROUND(该函数,只是负责四舍五入两位小数,但是不负责截断 只留两位小数,例如下例:) 关于ROUND函数,我们平常理解为4舍5入,如: print ROUND(13.145, 2); 结果为:13.150  如果保存...
  • sqlserver 四舍五入保留二位小数

    千次阅读 2012-05-24 11:31:43
    round()函数,是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几。 numeric函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。 cast as ...
  • 1. ROUND(该函数,只是负责四舍五入两位小数,但是不负责截断 只留两位小数,例如下例:) 关于ROUND函数,我们平常理解为4舍5入,如: print ROUND(13.145, 2); 结果为:13.150   2. 使用转换...
  • 如果 digits 大于 0,则四舍五入到指定的小数位。 如果 digits 等于 0,则四舍五入到最接近的整数。 如果 digits 小于 0,则在小数点左侧进行四舍五入。 如果round函数只有参数number,等同于digits
  • mybatis sqlserver 入库,发现数据被强制四舍五入 11.50 没有被强制四舍五入 11.5被强制四舍五入 解决方案,入库前对数据保留两位小数: 参照 String result=new BigDecimal(s).setScale(2,BigDecimal.ROUND_...
  • SQL 保留2位小数的方法/四舍五入

    千次阅读 2019-05-22 09:36:19
    现在要将数据四舍五入为2位小数,例如1.86 以下为SQL: CONVERT(decimal(4,2),粘性) 注意: decimal(4,2)代表有4位有效数字,保留2位小数(少于2位补0,多于2位四舍五入),最多有4-2=2位整数数字. 如果转换时出现了 将 ...
  • sql server小数四舍五入,保留

    千次阅读 2016-11-15 16:13:49
    round()函数,是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几。 numeric函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。 cast as numeric(5...
  • 舍入到的精度。当 length 为正数时, numeric_expression 舍入到 length 所指定的小数位数。当 length 为负数时,将按照 length 所指定的数值,在小数点左侧对 numeric_expression 进行舍入。 ...
  • 比如 某字段 demoround(demo ,2)
  • sql取两位小数

    千次阅读 2012-08-20 17:37:25
    substring(convert(varchar(10),Z),0,charindex('.',convert(varchar(10),Z))+3) sql取两位小数
  • SQL中的取整函数(遇到小数位就加1,非四舍五入) select CEILING(3.1) 答案:4
  • hive-sql查询结果保留两位小数

    万次阅读 多人点赞 2019-04-22 09:58:29
    需求要求保留4位小数,查博客大多是sql用法,但是hive-sqlsql还是有区别的,不知道大家发现没有,hive里有个自动转整的功能,示例 sql里 SELECT 1.0;...hive-sql里截取两位小数的语句 round(2.456,2) ...
  • 问题详情:持久层mybatis的sqlsqlserver插入数据,数据中的数字为一位或者两位的数字,并带单引号,插入sqlsserver数据库后,最后一位有效的小数位会被自动四舍五入,出现误差。 解决方案:在数字的后面补...
  • sql avg后保留两位小数

    千次阅读 2019-07-10 10:40:28
    保留两位小数 select st_area, round(avg(st_score),2) ...round(AVG(st_score),2),对平均数四舍五入保留两位小数 当平均数多余两位时才进行四舍五入保存两位小数 当为整数或一位小数时不进行取舍操作 ...
  • sqlserver 四舍五入

    2011-06-27 16:47:23
    sqlserver 四舍五入 方法及例子
  • 字段为id,存取的值有1,1.0,1.09。。。。。现在统一取出结果为1.0 selectleft(cast(idasDECIMAL(18,6) ),charindex('.',cast(idasDECIMAL(18,6) ))+1) 转载于:https://www.cnblogs.com/wxcmfz/p/7478993.html...
  • SQL保留两位小数

    万次阅读 2018-05-10 14:53:14
    1.select Convert(decimal(18,2),2.176544) 结果:2.18 2.select CAST(2.176544 as decimal(18,2)) 结果:2.18 3.select Round(2.176544,2...4.Oracle中,利用sql语句中的函数实现:select trunc(1.23856789,2) ...
  • 需求:两个整数相除,保留两位小数四舍五入,完了转成百分比形式,即4/5=0.80=80% 1.两个整数相除: idn_dw=> select 4/5; ?column? ---------- 0 (1 row) 在sql运算中,"/"意思是相除取整,这样小数部分就会...
  • Sql 保留两位小数

    万次阅读 2019-05-16 17:51:25
    使用 Round() 函数,如 Round(number,2) ,其中参数2表示保留两位有效数字,但是只负责四舍五入两位小数,但是不负责截断 例如 ROUND(3.141591653, 2) 得到3.140000000; 使用 Convert(decimal(10,2),number) ...
  • select left( 29/cast( 12 as float), charindex( '.',cast( 29/cast( 12 as float) as varchar(10)))+2) select CONVERT(char(4),DATEPART(ye
  • sql="select * from 餐饮表 where 项目='鱼香肉丝'"; m_pRs=theApp.m_pCon->Execute((_bstr_t)sql,NULL,adCmdText); cj = (LPCTSTR)(_bstr_t)m_pRs->GetCollect("菜价"); dc.TextOut(10,10,cj);...
  • 注:修约时看保留小数的后一位为5时进行修约,其他按四舍五入情况。 修约:五后皆零看奇偶,修约看5前面那一位数,五前为偶应舍去,五前为奇要进一。 例: 0.4451 保留两位 0.45 例: 0.445 保留两位 0.44 例: 0.435 ...
  • * 保留double类型小数两位,不四舍五入,直接取小数两位 比如:10.1269 返回:10.12 * * @param doubleValue * @return */ public static String calculateProfit( double doubleValue) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,483
精华内容 15,793
关键字:

四舍五入取两位小数sql