Oracle資料庫函式(單行函式)

2021-05-25 09:43:41 字數 2206 閱讀 6853

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;

Oracle資料庫的單行函式

單行函式的常用方法例項展示 1 字元函式 查詢所有員工的姓名,以小寫,大寫,首字母大寫的方式顯示 select ename from emp lower 小寫 upper 大寫 initcap 首字母大寫 select ename,lower ename upper ename initcap en...

資料庫函式

常用函式 dual是乙個oracle內部表,不論我們做什麼操作 不要刪除記錄 可以做很多取系統時間,計算等。虛表 dual 是oracle提供的最小的工作表,它僅包含一行一列。select from dual abs 絕對值 select abs 10 abs 10 from dual 10 10 ...

oracle單行函式

1.字元函式 upper 全大寫 lower 全小寫 initcap 首字母大寫 length 取長度 substr 擷取字串 replace 替換 2.數值函式 round 四捨五入 trunc 擷取 mod 取餘 3.日期函式 當前日期 sysdate 日期 數字 日期 日期 數字 日期 日期 ...