SQLServer四RMS五使用的轮函数和CAST和CONVERT函数

介绍

今天碰到一个问题,测试通信方式的一部分,用我的坚强给存储过程(32.678为十进制(5,1))我认为这种方式将只保留一位小数,我的回答是,我没有在功能测试使用四到五家,根据无数的四五家,说他们觉得验证试验数据后,在四到五家。想到这里,我又一次试图尝试在存储过程中的每一个计算点找出问题。



当我们使用四个块、五个条目和保留小数点时,我们肯定会选择圆函数。如果这个字段的数据类型为小数(18、10),然后将有0多家是四时五。

CAST和CONVERT

事实上,当我使用强旋转时,我不打算投四轮五个项目。我刚刚发现,这两个强大的回合也将导致四轮五个条目,这意味着以下三个语句将返回相同的结果值。


选择圆(32.678,1)--32.700
选择演员(32.678为十进制(5,1))-- 32.7
选择转换(数字(5,1),32.678 - 32.7)


下面是一个空白空间,您可以将SQL的四- SHE -五引入到圆函数中。

SQL四RMS五为2007 / 11 / 01 16:35问题1:


选择演员('123.456'as小数)


它将得到123(小数点后将省略)。

如果你想得到小数点后面的两位。

你需要改变上面的


选择演员('123.456'as十进制(38, 2))= = = > 123.46


自动四到五!

问题2:


选择圆(123.75633,2, 1),圆(123.75633,2)


上面的SQL的2个值是不同的,第一个值是:123.75000,后者是:123.76000。

由于前者在四rms和五之后被截获,所以保留了2。

后者没有被拦截,四RMS和五自然会得到123.76000。



返回数字表达式和四rms五到指定的长度或精度。

语法

圆(numeric_e-xpression长度{,},功能)

参数

numeric_e-xpression

数字数据类型的确切数字或近似类型的表达式(除了位数据类型)。

长度

是的numeric_e-xpression将四到五的精度。长度必须是tinyint、smallint或int时长为正,的numeric_e-xpression四杆五添加到指定长度的十进制数字的数量。当长度为负,numeric_e-xpression在小数点左边的四,指定的长度,五。

功能

它是要执行的操作的类型,函数必须是tinyint、smallint或int,如果函数或函数的遗漏值为0(默认),numeric_e-xpression将是四到五。0时指定的值将被截断,numeric_e-xpression。

返回类型

返回类型为numeric_e-xpression相同。

笔记

圆总是返回一个值。如果长度是负数,大于小数点前的数字个数,圆将返回0。

结果实例

圆(748.58,4)0

当长度是负的,不管是什么类型的数据,可以返回一个四-和-五- numeric_e-xpression。

结果实例

圆(748.58,1)750

圆(748.58,2)700

圆(748.58,3)1000

样品

A.使用轮和估计

下一个示例显示两个表达式,该表达式显示圆函数的使用,最后一个数总是估计值。


选择圆(123.9994,3),圆(123.9995,3)



下面是结果集:

实施

一百二十三点九九九零一二四

使用圆形和四-五的近似值。

下一个示例显示四个内部的五个和近似值。

语句的结果

选择圆(123.4545,2)

一百二十三点四五零零

选择圆(123.45,- 2)

一百

C.使用圆截断

下一个示例使用两个SELECT语句解释四行五条目和截断之间的区别。第一条语句是四到五输入结果。第二条语句截断结果。

语句的结果


选择圆(150.75,0)
一百五十一
选择圆(150.75,0, 1)
一百五十