QL Server研習錄(19)——ROUND()函數

SQL Server研習錄(19)——ROUND函數


版權聲明

  • 本文原創作者:清風不渡
  • 博客地址:https://blog.csdn.net/WXKKang

一、ROUND()函數

  返回一個數值,舍入到指定的長度或者精度

1、基本語法

  基本語法如下:

ROUND ( numeric_expression , length [ ,function ] )

  註釋:
  (1)參數
  numeric_expression: 是精確或近似數值數據類型類別(bit數據類型除外)的表達式
  length: 他是numeric_expression的舍入精度,length必須是tinyint、smallint或int類型表達式。如果length爲正數,則將numeric_expression舍入到length指定的小數位數。如果length爲負數,則將numeric_expression小數點左邊部分舍入到length指定的長度
  函數: 要執行的操作類型,function的數據類型必須是tinyint、smallint或int。如果function省略或其值爲0(默認值),則對numeric_expression進行舍入,如果指定了0以外的值,則將截斷numeric_expression
  (2)返回類型

  • 如果表達式結果爲tinyint,則返回類型爲int
  • 如果表達式結果爲smallint,則返回類型爲int
  • 如果表達式結果爲int,則返回類型爲int
  • 如果表達式結果爲bigint,則返回類型爲bigint
  • 如果表達式結果爲decimal和numeric類別(p,s),則返回類型爲decimal(p,s)
  • 如果表達式結果爲money和smallmoney類型,則返回類型爲money
  • 如果表達式結果爲float和real類型,則返回類型爲float
      注: ROUND始終返回一個值。如果length爲負數,並且大於小數點前的數字個數,則ROUND將返回0,如果length爲負數,則無論什麼數據類型,ROUND都將返回一個舍入的numeric_expression

2、示例

  示例一: 下面我們就使用一下ROUND()函數,並且學習並解釋它的各種情況及結果,代碼如下

PRINT '如果length爲負數,則將小數點左邊部分舍入到length指定的長度(四捨五入)'
PRINT ROUND(12.22622,-1)
PRINT ROUND(16.22622,-1)
PRINT '如果length爲整數,function爲0(默認值),則進行四捨五入'
PRINT ROUND(12.22322,2)
PRINT ROUND(12.22622,2)
PRINT '如果length爲正數,function爲其它值,則直接截斷(捨去)'
PRINT ROUND(12.22622,2,1)

  執行結果如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章