T-SQL代数函数与数值函数的用法(下)

日期: 2010-07-11 作者:Robert Sheldon翻译:冯昀晖 来源:TechTarget中国 英文

使用T-SQL的数值函数   按照我们前面的分类,我们要介绍的最后一类函数是数值处理函数。总的来说,这些函数都是以某种方式修改指定数值,比如对数值做四舍五入或者计算它的绝对值。   我们先介绍三个这种类型的函数,它们是:“ROUND”,“FLOOR”和“CEILING”。“ROUND”函数对数值做指定精度的四舍五入,而“FLOOR”函数返回小于或等于指定值的最大整数(向下取整)。

“CEILING”函数返回大于或等于指定值的最小整数(向上取整)。下面的例子展示了这三个函数的用法:   DECLARE @exp1 float   SET @exp1 =&nb……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

使用T-SQL的数值函数

  按照我们前面的分类,我们要介绍的最后一类函数是数值处理函数。总的来说,这些函数都是以某种方式修改指定数值,比如对数值做四舍五入或者计算它的绝对值。

  我们先介绍三个这种类型的函数,它们是:“ROUND”,“FLOOR”和“CEILING”。“ROUND”函数对数值做指定精度的四舍五入,而“FLOOR”函数返回小于或等于指定值的最大整数(向下取整)。“CEILING”函数返回大于或等于指定值的最小整数(向上取整)。下面的例子展示了这三个函数的用法:

  DECLARE @exp1 float
  SET @exp1 = 54.784392
  SELECT
  ROUND(@exp1, 2) AS [Round],
  FLOOR(@exp1) AS [Floor],
  CEILING(@exp1) AS [Ceiling]

  首先,我声明了“@exp1”变量,并给它赋值“54.784392”。然后,我在“SELECT”语句中调用了每个函数。要注意,“ROUND”函数有两个参数:第一个参数是要处理的数值,在本例中就是“@exp1”变量;第二个参数是“2”,表示应该四舍五入保留的精度,它表示小数点后保留的位数。

  “FLOOR”函数和“CEILING”函数都有一个参数,本例中就是“@exp1”变量。该“SELECT”语句返回的结果如下:

RoundFloorCeiling
54.785455

  接下来我们要介绍的函数是“ABS”函数,它返回一个数值表达式的绝对正值。该函数返回的结果取决于数值表达式是正的还是负的,或者是零。下面的例子展示了这三种情况:

  DECLARE @abs1 float
  SET @abs1 = 1.93
  DECLARE @abs2 float
  SET @abs2 = 0
  DECLARE @abs3 float
  SET @abs3 = -1.93
  SELECT
  ABS(@abs1) AS Absolute1,
  ABS(@abs2) AS Absolute2,
  ABS(@abs3) AS Absolute3

  要注意,我声明并设置了三个变量,并在“SELECT”语句中调用了三次“ABS”,每个变量调用一次。该语句返回结果如下:

Absolute1Absolute2Absolute3
1.9301.93

  如你所见,值为“1.93”的变量值和值为“-1.93”的变量值返回的结果是相同的,而值为“0”的变量返回值仍然是“0”。

  另一个与数值表达式正负号有关的函数是“SIGN”。如果输入值是正数的话,该函数返回“+1”,如果输入是“0”则返回“0”,而如果输入值是负数则返回“1”。下面的例子展示了这三种情况:

  DECLARE @sign1 float
  SET @sign1 = 1.93
  DECLARE @sign2 float
  SET @sign2 = 0
  DECLARE @sign3 float
  SET @sign3 = -1.93
  SELECT
  SIGN(@sign1) AS Sign1,
  SIGN(@sign2) AS Sign2,
  SIGN(@sign3) AS Sign3

  我声明了三个变量并给它们赋值,然后我在“SELECT”语句中使用了“SIGN”函数,返回每个变量值的正负号。结果如下所示:

Sign1Sign2Sign3
10-1

  如你所见,值为“1.93”的变量返回值为“1”,值为“0”的变量返回值为“0”,而值为“-1.93”的变量返回值为“-1”。

  我们要讲的最后一个函数是“RAND”。该函数返回0到1之间的随机数。下面的语句展示了该函数的用法:

  SELECT RAND()

  每次你运行这个语句时,它会返回0到1范围内的不同值。然而,如果你在调用“RAND”函数时指定了随机种子,情况就不一样了。例如,在下面的“SELECT”语句中“RAND”函数就使用“10”作为随机数种子:

  SELECT RAND(10)

  每次你(在一次连接中)使用这个随机数种子调用“RAND”函数时,它会返回相同的结果。例如,我在一次连接中重复运行了上面这个“SELECT”语句,每次都会得到下面这个值:

  0.713759689954247

  注意,这个值仍然在“0”到“1”之间。

  T-SQL数学函数总结

  如你所见,在需要对数值做各种计算时,你可以使用数学函数做各种类型的运算。在前面的例子中,我尽量演示了这些函数的用法,以及它们返回的数据类型。要注意,这些例子并没有考虑到这些函数之间的互相调用。为此,我推荐你在SQL Server联机帮助中查找“函数”主题来了解更多细节。到目前为止,你应该已经掌握了使用T-SQL数学函数的良好基础。

相关推荐