新霸哥帶你輕鬆玩轉Oracle資料庫

雲端計算-魏軍發表於2016-09-06
接觸過軟體開發的朋友可能都會知道oracle,在開發的過程中,資料儲存都可能會用到oracle的,因為oracle具有處理速度快,安全級別特別的高。但是有一個缺點就是比較的貴,只有一個大型的公司才有可能接觸到的,看到這裡可能很多的朋友一定很想了解oracle吧,下面新霸哥將帶你走進oracle的世界。


  首先介紹一下Oracle中對於字串的處理


  char varchar varchar2 nvarchar long clob這些都是oracle中常用的字串型別,在這裡用的比較多的就是varchar和varchar2,但是,它們是有區別的。


  varchar型別是國際標準組織ANSI制定的字串型別


  varchar2是Oracle公司自定義的字串型別,目前varchar和varchar2功能一致,Oracle推薦使用varchar2,mysql中沒有varchar2只有varchar,varchar2使用時必須指定大小,char不用指定大小,預設為1


  char和varchar的區別


  新霸哥注意到了char表示固定長度的字串,varchar表示變長的字串,c1--char(10)-->為c1開闢10個字元的空間,不夠10個,補充空格。c2--varchar(10)-->按照c2實際的長度開闢空間,最大開闢10個長度的空間


  中文儲存問題


  開闢空間大小單位為位元組,能存多少字元,和編碼有關,GBK:中文佔倆個位元組,字母和數字佔用一個位元組。


  UTF-8:中文佔3個位元組,字母和數字佔一個位元組


  Unicode:字母和中文都佔倆個位元組


  使用建議:varchar2定義長度的時候採用最大值:字元數*3


  nvarchar型別


  nvarchar採用是Unicode編碼儲存


  nvarchar(5):可以儲存5個字元(漢子或者字母數字)


  字串處理函式


  Oracle提供很多字串、數值、日期時間等,在這裡就不詳細的介紹了。如果你想深入的瞭解,可以和新霸哥交流。


  數值操作


  oracle中數值型別,利用number定義整數,浮點數。number:既可以儲存整數也可以儲存小數,number(p):表示p位的整數,number(p,s):表示浮點數,s表示小數位數,p表示有效位數


  --s>0:對小數點右側做多保留s位小數


  --s=0:對小數點四捨五入截掉保留整數


  --s<0:對小數點左側s位四捨五入清0


  當p<s的時候,是一個小於1的小數,小數點保留s位,將小數點右側s-p位清0 為0.0XX


  日期和時間的操作


  sysdate:Oracle伺服器當前系統時間,systimestamp:返回oracle伺服器當前系統時間是一個timestamp型別。將字串站換成date,to_date(s.format):將s字串以format格式轉換成date型別。 Oracle預設的格式為:DD-MM-RR,英文環境:'01-JAN-90',中文環境:'01-1月-90'


  日期轉換成字串


  to_char(date,format):將date轉換成format格式的字串顯示出來。 to_timestamp和to_date相似,可以將一個字串轉換成timestamp()型別




  其他日期函式


  last_day(date):返回當前時間月份的最後一天,next_day(date,星期幾):從當date時間開始計算,下一個星期幾的日期(離date最近的日期),months_between(date1,date2):計算date1-date2相差多少個月。extract:獲取指定的年,月,日等資訊。


  空值操作


  null:各種型別的字串都可以為null,這個也是很重要的,在開發中會經常遇到的。


  1》插入式寫入null


  2》null做條件查詢


  好了,新霸哥今天就介紹到這裡了,更多的關於oracle的一些深入的應用,歡迎和新霸哥交流。

相關文章