陈晓龙 发表于 2015-10-23 10:45 |
万望 发表于 2015-10-22 21:52 自己提问,自己回答 |
一篇文章发完成不? |
那sqlserver与这个对应的是什么呢???今天我就用了,你看看。 |
精度和小数位数的默认值分别是18与0。如果在decimal类型中不提供这两个值,SQL Server将截断数字的小数部分,而不会产生错误。 SELECT CAST('12.5' AS decimal) 结果是一个整数值:12 |
那么楼上的要返回一个合法的数值,就必须使用能处理这个值的数据类型。对于这个例子,存在多个可用的数据类型。如果通过CAST()函数将这个值转换为decimal类型,需要首先定义decimal值的精度与小数位数。在本例中,精度与小数位数分别为9 与2。精度是总的数字位数,包括小数点左边和右边位数的总和。而小数位数是小数点右边的位数。这表示本例能够支持的最大的整数值是9999999,而最小的小数是0.01。 SELECT CAST('12.5' AS decimal(9,2)) decimal数据类型在结果网格中将显示有效小数位: 12.50 |
万望 发表于 2015-10-22 21:36 BUT,sqlserver将产生一个错误: Server: Msg 245, Level 16, State 1, Line 1 Syntax error converting the varchar value '12.5' to a column of data type int. 原因:CAST()函数不能执行四舍五入或截断操作。 |
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.