首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL SEVER中无法存储8.00这样的数据,请教怎么办

2012-01-08 
SQL SEVER中无法存储8.00这样的数据,请问怎么处理!问题是这样的:SQL中将8.00存储起来就成为了8系统查询结

SQL SEVER中无法存储8.00这样的数据,请问怎么处理!
问题是这样的:

SQL中将8.00   存储起来就成为了   8

系统查询结果为   8   我想得到8.00   怎么办?

一般来说   像:   8.01   这些可以得到!

因为使用delphi   的控件直接显示数据需要   显示8.00   请问怎么办?

[解决办法]
Why not?

declare @t table(num numeric(5,2))
insert into @t select 8

select * from @t

/*
num
-------
8.00
*/
[解决办法]
对于整型数据,可以用函数强制转换其类型:

select rtrim(cast(8 as numeric(5,2))) as num
[解决办法]
select str(12.3,10,2)-- 12.30 --10是整个的宽度,2是小数点后的位数
[解决办法]
数据类型不对吧

[解决办法]
ls:应该加上ltrim
select ltrim(str(12.3,10,2))
[解决办法]
但是: 使用delphi 的控件直接显示数据需要 显示8.00 请问怎么办?
-------------------------------------------------
如果是控件本身的问题,最无奈的选择就是将所有的数据转换为字符类型,保留两位小数位,如:

select rtrim(cast(8 as numeric(5,2))) as num
[解决办法]
楼主应该在客户端程序上设置格式
转成字符型再在客户端上显示,并不是好办法.
[解决办法]
还没解决,请问什么控件
[解决办法]
使用delphi 的控件直接显示数据需要 显示8.00 请问怎么办?

这与数据库没有多大关系的,程序端显示问题。看看 delphi的控件有没有format or outformat属性来格式化显示结果。

[解决办法]
在数据库里获取出来就是8.00不就成了
[解决办法]
绑定数据源也不会有问题啊
[解决办法]
怎么会没问题,试试先
[解决办法]
在表中,定义该栏位的数据类型为numeric(x,y) y为小数位数
[解决办法]
SQL中将8.00 存储起来就成为了 8

------------------------------
你的数据类型定义的有问题

其他的楼上说的比我知道的还清楚
[解决办法]
借LZ地盘问一个问题:
select cast(0 as numeric(5,2)) as num 显示:.00
select rtrim(cast(0 as numeric(5,2))) as num 显示:0.00

原因是为什么呢?多谢解答

[解决办法]
select cast(.00 as varchar(10))--只知道数字转字符会在个位上把0补上
[解决办法]
数据类型不对吧
[解决办法]
Mark!
[解决办法]
如果是在DELPHI中,
一个方法是,在dataset 中增加列设置,在列属性中设置displayformat,

或则使用其他控件,比如dbgrideh等,可以直接设置显示模式
[解决办法]
前台處理的問題,delphi本來就可以設置
[解决办法]
如果是在DELPHI中,
一个方法是,在dataset 中增加列设置,在列属性中设置displayformat
------解决方案--------------------


楼主,在Delphi的数据集控件中把字段添加进去,选择你想要显示#.##格式的字段(数字类型),然后
在DisplayFormat中填入你想要的格式不就OK了

热点排行