1. 程式人生 > >Round函式在SQL Server與Access中的區別

Round函式在SQL Server與Access中的區別

ROUND

返回數字表達式並四捨五入為指定的長度或精度。

語法

ROUND ( numeric_expression , length[ , function ] )

引數

numeric_expression

精確數字或近似數字資料型別類別的表示式(bit 資料型別除外)。

length

numeric_expression 將要四捨五入的精度。length 必須是 tinyintsmallintint。當 length 為正數時,numeric_expression 四捨五入為length 所指定的小數位數。當 length 為負數時,numeric_expression 則按 length

所指定的在小數點的左邊四捨五入。

function

是要執行的操作型別。function 必須是 tinyintsmallintint。如果省略 functionfunction 的值為 0(預設),numeric_expression將四捨五入。當指定 0 以外的值時,將截斷 numeric_expression

返回型別

返回與 numeric_expression 相同的型別。

在實際使用過程中Round函式在SQL Server和Access是有區別的,在SQL Server裡面採用的是四捨五入的模式,在Access裡面採用的是四捨六入五成雙的模式,舉例如下:

select round(0.5,0)
-------------------------------------
Access返回值:0
SQL Server返回值:1
“四捨六入五成雙”,也即“4舍6入5湊偶”這裡“四”是指≤4 時捨去,"六"是指≥6時進上,"五"指的是根據5後面的數字來定,當5後有數時,舍5入1;當5後無有效數字時,需要分兩種情況來講:①5前為奇數,舍5入1;②5前為偶數,舍5不進。(0是偶數)


從統計學的角度,“四捨六入五成雙”比“四捨五入”要科學,在大量運算時,它使舍入後的結果誤差的均值趨於零,而不是像四捨五入那樣逢五就入,導致結果偏向大數,使得誤差產生積累進而產生系統誤差。

不同的資料庫不同的開發工具這個函式可能會不一樣,在使用這個函式之前記得先做測試。

-------------------------------------------------------------------------------------------------- PS:本文件為本人原創,如需轉載請註明作者及出處。謝謝!

相關推薦

Round函式SQL ServerAccess區別

ROUND 返回數字表達式並四捨五入為指定的長度或精度。 語法 ROUND ( numeric_expression , length[ , function ] ) 引數 numeric_expression 精確數字或近似數字資料型別類別的表示式(bit 資料型別除外

sql server mysql 常用的SQL語句區別

由於博主之前學過mysql,目前在學習SQL server,原來以為這兩個資料庫之間的sql語句應該不會有太大區別。但是學sql server(用的版本是2012) 學久之後,發現與mysql 還是有很多不同的地方,有些時候寫起來很不適應,所以就打算寫這篇部落格來記錄一下這兩

SQL Server MySQL排序規則字符集相關知識的一點總結

bubuko col https 中文字符集 目前 創建 har 運算 進制 原文:SQL Server 與MySQL中排序規則與字符集相關知識的一點總結 字符集&&排序規則 字符集是針對不同語言的字符編碼的集合,比如UTF-8字符集,GBK字符集,G

李洪根 SQL SERVER ACCESS、EXCEL的資料轉換

熟悉SQL SERVER 2000的資料庫管理員都知道,其DTS可以進行資料的匯入匯出,其實,我們也可以使用Transact-SQL語句進行匯入匯出操作。在Transact-SQL語句中,我們主要使用OpenDataSource函式、OPENROWSET 函式,關於函式的詳細

sql server和my sql 命令(語句)的區別sql servermysql的比較

  sql與mysql的比較 1、連線字串 sql  :Initial Catalog(database)=x;  --資料庫名稱       Data S

javaString字串的替換函式:replacereplaceAll的區別

1>replace的引數是char和CharSequence,既可以支援字元替換,也可以支援字串替換。 2>replaceall引數是regex, replacement,regex表示是正則表示式。 replace : String src = new Strin

sql server 和 oracle ,ip數字互轉

(一)Oracle中: (1) IP轉為數字: createorreplacefunction ip2number(ip varchar2)    return number   is  

Sql Server MySql 在使用 update inner join 時的區別

-- 不使用別名 UPDATE tb_User SET tb_User.pass = '' FROM tb_User usr INNER JOIN tb_Address addr ON usr.nAddressFK = addr.nA

Oracle的substr函式簡單用法 javasubstring區別

substr(字串,擷取開始位置,擷取長度) //返回擷取的字 substr('Hello World',0,1) //返回結果為 'H'  *從字串第一個字元開始擷取長度為1的字串 substr('Hello World',1,1) //返回結果為 'H'  *0和1都是

SQL Server 查詢處理的各個階段(SQL執行順序)

派生 步驟 sel 合成 emp lec 限制 對象 沒有 SQL 不同於與其他編程語言的最明顯特征是處理代碼的順序。在大數編程語言中,代碼按編碼順序被處理,但是在SQL語言中,第一個被處理的子句是FROM子句,盡管SELECT語句第一個出現,但是幾乎總是最後被處

采用Opserver來監控你的ASP.NET項目系列(二、監控SQL ServerAsp.Net項目)

我們 cto 存儲 nodes index ring username nod 之前 前言 之前有過2篇關於如何監控ASP.NET core項目的文章,有興趣的也可以看看. 今天我們主要來介紹一下,如何使用Opserver監控我們的SQL Server 和ASP.NET

數據庫操作對比:Sql ServerMYSQL相比有哪些建站優勢?

ASP PHP IT SQL MYSQL 最近一直在做博客網站,從定位主題到程序和數據庫的選擇,確實廢了不少心思,經過細致的思考,最終將主題定位為讀書方面,還有文學和學習筆記,但是對於程序和數據庫問題,我一直就比較費心,因為個人是個技術小白,因此在這方面有些難題要解決。 第一個難題:博客程

Ubuntu Server Ubuntu Desktop區別

numa 優化 指令 硬件 基本上 lin nbsp 對稱 www 今天有位朋友問我,Ubuntu Server 與 Ubuntu Desktop的區別在哪裏!區別如下: SERVER沒有GUI SERVER沒有一堆的桌面軟件 SERVER在編譯時使用的參數不一樣,會優化了

SQL Server查詢優化的兩個選項

掃描 etime 日期時間 flag ram 最終 指導 can mitm 本文中,我們將介紹兩個SQL Server中的可用概念,它們是使用SQL Server時值得註意的技術。 1. OPTIMIZE FOR Unknown SQL Server 20

SQL Server 儲存過程相關的資源網址

儲存過程相關文章 引用連線: 1、SQL server儲存過程建立與使用----http://blog.csdn.net/miniduhua/article/details/52102176 2、SQLSERVER儲存過程基本語法----http://www.cnb

SQL Server 資料庫調整表列的順序操作

SQL Server 資料庫中表一旦建立,我們不建議擅自調整列的順序,特別是對應的應用系統已經上線,因為部分開發人員,不一定在程式碼中指明瞭列名。表是否可以調整列的順序,其實可以自主設定,我們建議在安裝後設置為禁止。 那麼,如果確實需要調整某一列的順序,我們是怎麼操作的呢? 下面,我們就要演示一下怎麼取消這

SQL SERVER匯出表資料的sql指令碼形式

CREATE proc spGenInsertSQL (@tablename varchar(256)) as begin declare @sql varchar(8000) declare @sqlValues varchar(8000) set @sql =' (' set @sqlVal

SQL SERVERC#的資料型別對應表

序號 類別 SQLServer C Sharp 備註

關係型資料庫MySQL和SQL Server、Oracle的區別

MySQL 不支援事務處理、沒有檢視、儲存過程和觸發器(trigger),沒有資料庫端的使用者自定義函式,不能使用標準SQL語法。 SQL Server 它已廣泛應用於金融、保險、電力、行政管理等與資料庫有關的行業。由於其易操作性及友好的介面。它一般是和同是微軟產品的.net平

SQL Server 查詢字串指定字元的個數

需求:查詢數字1在欄位Data中出現的次數。(表如上圖所示) 要查詢某個指定的字元在字串中出現的位置,方法比較簡單,使用 len() 函式和 replace() 函式結合就可以。 實現方法舉例: 假定@str就是表中的Data欄位 DECLARE @str VAR