积极答复者
如何在sql中除掉DECIMAL 类型字段的时候,后面的多余补充的0

问题
-
DECIMAL 类型字段的时候,后面的0太多,怎么去掉0,在sql2005中有没有设置的方法.
- 已移动 Sheng Jiang 蒋晟 2010年5月12日 19:43 (发件人:.NET Framework 一般性问题讨论区)
答案
-
这不是“补零”,你显示指定了几位小数位,内部就要给你存几位小数位呀,否则不就乱套了,
补零和去零,应该都是格式化问题,这个一般在应用程序级别处理
我不知道你说的 win 2k 和 2k3 的区别,理论上应该不会是这样的,sql server 内部存储应该是一致的,是你的程序显示的时候还是sql server 内部就不会显示零?有零是正常的,没零才不正常了,因为如前所述,即使是零,也是有效数字
如果你要在程序中不显示小数位零,那你就自己去掉就可以了,你也可以在查询的时候就处理比如 select cast(money as decimal (18,0)) from tbl
问题要简单,错误须详细@错误/异常/堆栈信息+操作系统+软件版本+all the context of the issue Hope Helpful | http://www.leoworks.net- 已标记为答案 Nai-dong Jin - MSFTModerator 2010年5月17日 3:06
全部回复
-
如果你可以修改字段类型且满足你的需求,你可这样定义 decimal(18,0), 其中0 即表示没有小数位
如果你还可以显示转换,select cast(money as decimal (18,0)) from tbl 不过这样有效数字可能就丢失了,因为按数学常理,如果你的类型定义为 decimal(18,2) 即使999.00中的两个 00 也是有效数字,
问题要简单,错误须详细@错误/异常/堆栈信息+操作系统+软件版本+all the context of the issue Hope Helpful | http://www.leoworks.net
-
如果你可以修改字段类型且满足你的需求,你可这样定义 decimal(18,0), 其中0 即表示没有小数位
如果你还可以显示转换,select cast(money as decimal (18,0)) from tbl 不过这样有效数字可能就丢失了,因为按数学常理,如果你的类型定义为 decimal(18,2) 即使999.00中的两个 00 也是有效数字,
问题要简单,错误须详细@错误/异常/堆栈信息+操作系统+软件版本+all the context of the issue Hope Helpful | http://www.leoworks.net
谢谢答复,不能修改字段类型,一修改就报错,我现在服务器的环境是WIN 2003,有什么方法使decima类型的记录在WIN 2003 下不自动补0,
原先WIN 2000下它不自动补0
-
这不是“补零”,你显示指定了几位小数位,内部就要给你存几位小数位呀,否则不就乱套了,
补零和去零,应该都是格式化问题,这个一般在应用程序级别处理
我不知道你说的 win 2k 和 2k3 的区别,理论上应该不会是这样的,sql server 内部存储应该是一致的,是你的程序显示的时候还是sql server 内部就不会显示零?有零是正常的,没零才不正常了,因为如前所述,即使是零,也是有效数字
如果你要在程序中不显示小数位零,那你就自己去掉就可以了,你也可以在查询的时候就处理比如 select cast(money as decimal (18,0)) from tbl
问题要简单,错误须详细@错误/异常/堆栈信息+操作系统+软件版本+all the context of the issue Hope Helpful | http://www.leoworks.net- 已标记为答案 Nai-dong Jin - MSFTModerator 2010年5月17日 3:06
-
这不是“补零”,你显示指定了几位小数位,内部就要给你存几位小数位呀,否则不就乱套了,
补零和去零,应该都是格式化问题,这个一般在应用程序级别处理
我不知道你说的 win 2k 和 2k3 的区别,理论上应该不会是这样的,sql server 内部存储应该是一致的,是你的程序显示的时候还是sql server 内部就不会显示零?有零是正常的,没零才不正常了,因为如前所述,即使是零,也是有效数字
如果你要在程序中不显示小数位零,那你就自己去掉就可以了,你也可以在查询的时候就处理比如 select cast(money as decimal (18,0)) from tbl
问题要简单,错误须详细@错误/异常/堆栈信息+操作系统+软件版本+all the context of the issue Hope Helpful | http://www.leoworks.net感谢,我再试下。