Oracle與SqlServer的區(qū)別大嗎
前言
Oracle與SqlServer的差異
1.數(shù)據(jù)類型區(qū)別
oracle——sqlServer
CHAR(length)——CHAR(length):存儲固定長度的字符串。參數(shù)length指定了長度,如果存儲的字符串長度小于length,用空格填充。默認(rèn)長度是1,最長不超過2000字節(jié)。
VARCHAR2(length)——VARCHAR(length)
VARCHAR2(length):存儲可變長度的字符串。length指定了該字符串的最大長度。默認(rèn)長度是1,最長不超過4000字符。
NUMBER(p,s)——decimal(18, 0)
NUMBER(p,s):既可以存儲浮點數(shù),也可以存儲整數(shù),p表示數(shù)字的最大位數(shù)(如果是小數(shù)包括整數(shù)部分和小數(shù)部分,p默認(rèn)是38為),s是指小數(shù)位數(shù)。
DATE——DATETIME
DATE:存儲日期和時間,存儲紀(jì)元、4位年、月、日、時、分、秒,存儲時間從公元前4712年1月1日到公元后4712年12月31日。
oracle
各種數(shù)據(jù)類型的表達(dá)形式:
字符型用單引號加字符表示,例如,’ABC’
數(shù)字型直接用阿拉伯?dāng)?shù)字表示,例如,123
日期型不能直接表示,必須使用函數(shù)轉(zhuǎn)換,
例如,DATE’2016-12-31’,TO_DATE(’20161231201237’,’YYYYMMDD 24HH:MI:SS’)
各種數(shù)據(jù)類型的不同特點:
字符型可以進(jìn)行拼接,
數(shù)字型可以進(jìn)行算術(shù)運(yùn)算,
日期型也能進(jìn)行算術(shù)運(yùn)算,但是只能日期減日期,或者日期加減數(shù)字
各種數(shù)據(jù)類型比較大小的方式:
字符型比較第一個字符的ASC碼的大小
數(shù)字型比較數(shù)值的大小
日期型也是直接比較大小,越早的時間越小
2.數(shù)據(jù)表個數(shù)查詢的區(qū)別
SQL Server
---查詢數(shù)據(jù)庫中表的個數(shù) select * from sysobjects where type='U' --查詢某個類型表的個數(shù) select * from sysobjects where type='U' and name like '%drugcost%'
Oracle
--查詢數(shù)據(jù)庫表的個數(shù) select * from user_tables; --查詢某個類型表的個數(shù) select * from user_tables where table_name like '%drugcost%';
3.實現(xiàn)查詢
--sql server select top 3 * from ODS_Fact_201201Incomedtl --oracle select * from ( SELECT row_number() over (order by "Id") as rn, "Id", "Date", "Sign", "PatientNo", "itemid", "AccountingId", "Deptid", "ExecDeptid", "Doctorid", "Amount", "Money" FROM "ODS_Fact_201201Incomedtl" ) a where rn <= 3;
4.oracle不能再表后面使用’as’ 表字段后面可以使用‘as’,SQL Server 可以再表后面和表字段后面都可以使用‘as’
5.oracle區(qū)分表字段的大小寫,SQL Server 不區(qū)分表字段的大小寫
6.時間的處理
--sql server select YEAR(Date) as years,MONTH(Date) as months,sum(Money) as money from ODS_Fact_201201Incomedtl a with(nolock) left join ODS_Dim_Item b with(nolock) on a.itemid = b.id where b.Item like '%掛號%' group by YEAR(Date),MONTH(Date) --oracle select to_char(a."Date",'yyyy') as dateyears, to_char(a."Date",'mm') as datemonths, sum("Money") as Money from "ODS_Fact_201201Incomedtl" a left join "ODS_Dim_Item" b on a."itemid" = b."id" where b."Item" like '%掛號%' group by to_char(a."Date",'yyyy'),to_char(a."Date",'mm');
總結(jié)
本文僅僅簡單介紹了Oracle與SqlServer的數(shù)據(jù)類型的差異。
到此這篇關(guān)于Oracle與SqlServer的差異的文章就介紹到這了,更多相關(guān)Oracle與SqlServer的差異內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SQLSERVER查詢所有數(shù)據(jù)庫名,表名,和字段名的語句
SQLSERVER查詢所有數(shù)據(jù)庫名,表名,和字段名的語句,需要的朋友可以參考下。2011-12-12mssqlserver恢復(fù)ldf文件數(shù)據(jù)的方法
本文介紹mssqlserver怎么恢復(fù)ldf文件數(shù)據(jù)庫,簡單的來說,MDF文件是SQL server用來存放數(shù)據(jù)的數(shù)據(jù)庫文件;LDF文件SQL server是日志文件,存放了對數(shù)據(jù)庫進(jìn)行的所有操作信息2013-11-11sqlserver substring函數(shù)使用方法小結(jié)
在操作sqlserver時候用到了substring函數(shù),特整理一些實例,需要的朋友可以參考下。2009-12-12sql server實現(xiàn)在多個數(shù)據(jù)庫間快速查詢某個表信息的方法
這篇文章主要介紹了sql server實現(xiàn)在多個數(shù)據(jù)庫間快速查詢某個表信息的方法,結(jié)合實例形式分析了SQL Server多個數(shù)據(jù)庫查詢的相關(guān)操作技巧,代碼備有詳盡的注釋,需要的朋友可以參考下2017-03-03