首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql浮动零填充

sql浮动零填充
EN

Stack Overflow用户
提问于 2013-12-11 14:40:49
回答 2查看 1.8K关注 0票数 0

我想知道是否有一种方法可以将SQL中的浮点数转换为小数点之后的零填充数,例如,如果我有下表:

代码语言:javascript
复制
.--------------------.-------.
|        name        | grade |
.--------------------.-------.
| courseE            | 5     |
| courseG            | 4     |
| courseB            | 2.5   |
| courseC            | 2.5   |
| courseF            | 1.25  |
| courseD            | 0     |

我希望将字段grade转换为零填充数字,结果如下:

代码语言:javascript
复制
.--------------------.-------.
|        name        | grade |
.--------------------.-------.
| courseE            | 5.000 |
| courseG            | 4.000 |
| courseB            | 2.500 |
| courseC            | 2.500 |
| courseF            | 1.250 |
| courseD            | 0.000 |

我已经尝试转换场等级为浮动由usibg的CAST(EXP) AS FLOAT,但为什么它没有与我一起工作?!

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-11 14:50:11

您的错误从float开始--因为没有可用于CAST()转换的此类数据类型。相反,您应该使用DECIMAL,它还允许您设置十进制和数字部分:

代码语言:javascript
复制
SELECT name, CAST(grade AS DECIMAL(4, 3)) FROM t

关于格式:第一个数字表示有多少数字将容纳您的decimal值,而第二个数字表示将有多少十进制数字(即在点之后)。更确切地说,它不是格式,而是特定的数据类型限制定义(因为decimal是MySQL中一种特殊的定点数据类型)。

票数 1
EN

Stack Overflow用户

发布于 2013-12-11 14:49:37

代码语言:javascript
复制
select  convert(decimal(10, 3), @number)

"3“表示”3“之后的小数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20522020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档