日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle中存在函数吗,Oracle中的函数

發布時間:2025/3/20 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle中存在函数吗,Oracle中的函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle中的函數

1.單行函數也稱標量函數,對于從表中查詢的每一行,該函數都返回一個值.單行函數可用與select子句中,也可用于where子句中.單行函數大致分為:

>.日期函數

>.字符函數

>.轉換函數

>.其他函數

1.日期函數

>.add_months: add_months(d,n) d是日期 n表示月數

select addmonths(sysdate,1) from dual;

>.months_between months_between(d1,d2) 如果d1晚與d2,則結果為正數,否則為負數.如果d1和d2為某月中的同一天后月份的最后一天,則結果為整數,否則Oracle將根據一個月31天來計算結果的小數部分

select months_between(date'2005-2-10',date'2007-3-10') from dual; =-25 差25個月

>.last_day last_day(d) 返回日期當月的最后一天的日期值

>.round round(d,[fmt]) 次函數返回日期值,次日期四舍五入為格式模型指定的單位.fmt為可選項,默認舍入最靠近的那一天

select round(sysdate) from dual; 結果為sysdate當天的日期

select round(sysdate,'year') from dual; 如果sysdate中的月在7月1日之后則返回下一年的1月1日,否則為當年的1月1日

select round(sysdate,'month') from dual; 舍入到月的第一日

select round(sysdate,'day') from dual; 最近的星期日

>.trunc trunc(d,[fmt])與round不同的是:他只舍不入

select trunc(date'2005-8-27','year') from dual; =2005-1-1

>.next_day next_day(d,day) d表示日期,day表示一周中的任何一天.

select next_day(sysdate,'星期二') from dual; 結果為sysdate后的第一個星期二,參數'星期二'也可以用整數3表示.

>.extract extract(fmt from d) 提取日期中的特定部分.

select extract(year from date'2005-2-10') from dual; 結果為2005

注意次處的fmt不要使用''

2.字符函數

函數

說明

輸入

輸出結果

Initcap(char)

首字母大寫

select initcap(‘hello’) from dual;

Hello

Lower(char)

轉換為小寫

select lower(‘FUN’) from dual;

fun

Upper(char)

轉換為大寫

select upper(‘sun’) from dual;

SUN

Ltrim(char,set)

左裁減,set不寫默認裁減空格

select ltrim(‘xyzabc’,’xyz’) from dual;

abc

Rtrim

和左裁減相反

Select rtrim(‘xyzabc’,’abc’) from dual;

Xyz

Translate(char,from,to)

按from到to的翻譯模式,去匹配char中存在的字符并替換

Select translate(‘jack’,’abcd’,’1234’) from dual;

J13k

Replace(char,search_str,replace_str)

在char中查找srearch_str并替換成replace_str

Select replace(‘abcd’,’ab’,’fg’) from dual;

Fgdc

Instr(char,substr)

查找子串位置:從1開始,未找到時為0

Select instr(‘worldwide’,’d’) from dual;

5

Substr(char,pos,len)

從pos位置開始,取len的長度

Select substr(‘abcd’,2,2) from dual;

Bc

Concat(char1,char2)

連接字符串

Select concat(‘hello’,’world’) from dual;

helloworld

其他字符函數:

chr(ASCII):

根據acsii碼返回對應的字符

Lpad(char,len,to):

指定長度為len,不夠長就在左邊用to填充,若char的長度大于len,則取左邊的指定len,右邊舍掉,如:

select lpad('function',15,'=') from dual; 結果:======function 若:

select lpad('function',5,'=') from dual;結果funct 取5個的長度

Rpad和Lpad正好相反.

trim和ltrim和rtrim一樣,trim舍去左右兩邊的 默認也為舍去空格.

當指定leading 選項時,與Ltrim類似,裁減左邊的字符

select trim(leading 9 from 9992434999) from dual;結果2435999 開頭的9被去掉了,一旦遇到9以外的數字,將停止操作

當指定trailing選項時,則正好與leading 相反

select trim(trailing 9 from 9992434999) from dual;結果9992434

當不指定時 去掉左右兩邊的字符

select trim(9 from 9992434999) from dual;結果2434

decode(expr,search1,result1,search1,result2)

與translate不同的是,decode進行逐行逐個值的替換,translate進行逐行逐個字符的替換

數字函數

函數

說明

輸入

結果

Abs(n)

取絕對值

Select abs(-15) from dual;

15

Ceil(n)

向上取整(大于n的最小整數)

Select ceil(15.1) from dual;

16

Sin(n)

正玄

Select sin(1.571) from dual;

0.99999979

Cos(n)

余玄

Select cos(0) from dual;

1

Sign(n)

取符號(正返回1,負返回-1)

Select sign(-15) from dual;

-1

Floor(n)

向下取整(不大于n的最大整數)

Select floor(100.2) from dual;

100

Power(m,n)

M的n次幕

Select power(4,3) from dual;

64

Mod(m,n)

取m除n的余

Select mod(10,3) from dual;

1

Round(m,n)

四舍五入小數位為n

Select round(100.245,2)from dual

100.25

Trunk(m,n)

截斷小數位為n只舍不入

Select trunk(100.245,2) from dual

100.24

Sqrt(n)

平方根

Select sqrt(4) from dual

2

總結

以上是生活随笔為你收集整理的oracle中存在函数吗,Oracle中的函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。