始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

Oracle數據庫函數(單行函數)

發布時間:  2012/8/26 15:22:17

Oracle中的函數和C中的函數差不多,也是有函數名,參數表,和返回值類型組成的,單行函數,是針對每條記錄都有一個結果。單行函數可以出現在select 后面,也可以出現在where子句中。

需要處理現實的結果時,就把函數寫在select后面,用于條件過濾時,就把函數用在where子句中。

1,字符函數(varchar)
-
 


字符是大小寫敏感的
轉小寫 lower(‘...’)
轉大寫 upper(‘...’)
首字母大寫 initcap(‘...’)
dual表,是專門用于函數測試和運算的,他只有一條記錄
字符串拼接 concat(‘...’,’....’)
求指定子串 substr(‘...’,起始位置,取字符個數)(起始位置可以為負)
求制定字符串的長度length(‘……’)
可以使用"-"表示從右向左取,取的時候可以從左往友取。
例:
select upper(‘test’) from dual;
select first_name from s_emp where upper(first_name)=’GEORGE’;
select substr(first_name,-2,2) sub from s_emp;(取后兩個)
select substr(first_name,2,2) sub from s_emp;(取前兩個)

2,數值函數(number)

四舍五入 round(數據,保留小數點后幾位)
可以用負數表示小數點前,0,表示小數點后第一位,也就是保留個位,-1表示個位(保留到十 位)。
例:select round(15.36,1) from dual;
結果:15.4

截取數字函數 trunc(數據,保留的位數(小數點后位數)) 截取個位之后補0
例:select trunc(123.456,-1) from dual; 保留倒十位
結果:120

3,日期函數

日期格式,
全日期格式 世紀信息,年月日,時分秒。
缺省日期格式,日-月-年 dd-mon-rr
日期類型是可以進行數學運算的,+1,是下一天,-1,是上一天,數據庫會對數據所隱式的轉換。

修改當前會話的日期格式,會按照指定的格式輸出日期
alter session set nls_date_format='yyyy mm dd hh24:mi:ss';

返回當前日期 sysdate
例:select sysdate+20 from dual;

日期是格式敏感的
求兩個日期間相隔了多少個月 months_between(date1,date2)
加減指定數量的月份 add_months(date,月數),月數可以為負,負值就是減去相應的月數。
從下周開始的日期加一天 next_day(date,天數)

例:select next_day(sysdate,2) from dual;
返回月末的日期 last_day(date)

截取日期 trunc(date,'年或月或日或時分秒')
例:select trunc(add_months(sysdate,1),'month') from dual;

4,不同數據類型間轉換函數

將日期轉成字符 tochar(date,'日期格式')
日期格式要用有效格式,格式大小寫敏感 'yyyy mm dd hh24:mi:ss','year'(全拼的年),'mm'(數字表示的月) 'month'(全拼的月),'day'(星期的全拼),'ddspth' (日期的全拼) 'yy mm dd',’rr-mm-dd’(會根據年份判斷世紀)
例:select to_char(sysdate,'yyyy mm dd hh24:mi:ss') from dual;

將字符轉換成數字 to_number('...'),(可以加第二參數,第二參數指定定數字進制)

將數字轉字符to_char(number,'fmt') fmt是數字格式

將字符串轉成日期 to_date('...','日期格式')
例:select to_char(to_date('2006 11 03','yyyy mm dd'),'dd-month-yy')
from dual;

5,函數嵌套

例:select to_char(to_date('2006 11 03','yyyy mm dd'),'dd-month-yy')
from dual;
 


本文出自:億恩科技【www.czbl888.cn】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線