① 请问sql显示百分比小数点的问题
select
round(a1/a2*100,2)||'%'
from
table
改成
select
to_char(round(a1/a2*100,2),'fm999990.00')||'%'
from
table
其中FM表示去掉空格,999990.00分别代表整数位数和小数位数是几位
② sql截取小数点后几位
这个要看数据库表设计是怎么规定的
一般小数类型的字段,在Mysql数据库中用decimal类型,可以分别设置长度和小数点
另外,长度是包括小数点的,比如:长度设为10,小数点设置为2,则这个数的整数位最大是8位
③ 在sql里面要存储带小数的数应该用什么数据类型
小数用double或者number不带精度作为存储,
示例如下,
1、创建测试表,create table test_num(id number, fee number(10,3));
④ sql查询语句查询结果是数值小数点后自动四舍五入取小数点后4位,可以怎么写
select convert(decimal(18,4),dj) from table
⑤ sql 指定小数点位数
用存储过程来存入数据,存储前加入如下转换
if(len(字段名)-charindex('.',字段名))
>4
--判定小数位数是否大于4个
begin
declare
@result
decimal(18,4)
select
@result
=
cast(ceiling(字段名*power(10,4))/power(10,4)
as
decimal(18,4))
end
⑥ SQL中的小数点后的输入位数.
1、用函数 ROUND(数值,s) ,其中 s 表示 小数位数。
例:SELECT ROUND(4.994,2) 返回 4.990。
2、用函数 CAST(数值 as numeric(n,s)),其中n表示有效数字位数,s表示小数位数。
例:SELECT CAST(4.994 as numeric(10,2)) 返回 4.99。
3、用函数 CONVERT(numeric(n,s),数值),其中n表示有效数字位数,s表示小数位数。
例: SELECT CONVERT(numeric(10,2),4.985) 返回 4.99。
其运用的函数是函数 TRUNC。而trunc函数的功能和函数INT类似,是截取日期或数字,返回指定的值。函数trunc直接去除数字的小数部分,而函数INT则是向下舍入到最接近的整数。
(6)sql分数小数点扩展阅读
TRUNC(for number)语法格式:TRUNC(number,[decimals])
其中:
number 待做截取处理的数值。
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。
trunc函数 turnc(x,y)如果y是负数,则对x在小数点左边的第|y|位处进行截断。
例如:TRUNC(5.75, -1)=0;
看成 0005.75.000 从小数点左边第一位往左边截,是0。
下面是该函数的使用情况:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推。
⑦ 怎么把SQL语句的结果集加上小数点
转换成decimal类型。例如将1转换成1.00
cast(1 as decimal(10,2))
⑧ SQL 中小数点的问题
用Round()函数
select round(money,4) from tabel
如果money值为120,就会显示120.0000
另外select round(money,-2) from table
结果为:100
不用定义的,SQL本来就有的函数。直接在查询中使用就可以了
⑨ SQL中小数点的问题
更改字段a的属性(定点精度10和小数位数2)
Alter Table 表名 Alter Column 字段a numeric(10,2)
⑩ sql server 如何将小数变成分数。请各位高手赐教,小弟不胜感激。在线等答案。
这个比较难做,建议用java或C读取数据库中小数后再转换写回:方法是先按小数位数进行固定格式转换再化简,比如0.784,写成784/1000,实际上就是两个数784和1000,求它们的最大公约数为8,化简得到98/125写回。
值得注意的是数据库不支持98/125这种数据吧,所以字段必须是字符型的。另外如果原来的小数是浮点型则在计算机中表示有截断误差,可能难以判断小数位数,所以也需要是字符型,这样读取数据有一个将ASCII数字转换成实际数字的工作。