oracle學習(使用了PL SQL) 3

2021-08-10 01:34:02 字數 3289 閱讀 9290

今天主要是寫一些常用的函式,就當複習一遍,偶爾還能看一下

1.字元函式

函式名函式功能

例項ascii

返回指定的字元(第乙個字元)對應的十進位制數

select ascii(『hello』) from dual;

chr引數為整數,表示某個字元的unicode碼,返回對應的字元

chr(50403)

initcap

返回字串並將字串的第乙個字母變為大寫,其餘變為小寫

initcap(『hello』)

instr

在乙個字串中搜尋指定的字元,返回發現指定的字元的位置

instr(『hello』,』e』,1,1)[引數3:查詢起始位置。引數4:第幾次出現。3,4都可選]

length

返回字串的長度

length(『hello』)

lower

返回字串。並將所有字元小寫

lower(『hello』)

upper

返回字串。並將所有字元大寫

upper(『hello』)

rpad

在列的右邊貼上字元

rpad(『hello』,10,』汪汪v』)[引數1:原字串;引數2:補充後達到的個數;引數3:補充的字元]

lpad

在列的左邊邊貼上字元

lpad(『hello』,10,』汪汪v』)

ltrim

刪除字元左面的字串

ltrim(『hello』,』h』)[從最左邊開始]

rtrim

刪除字元右面的字串

rtrim(『hello』,』lo』)[結果:he]

trim

刪除字串兩邊的空格,如刪除字串兩邊的空格

trim(』 hello 『)

substr

取子字串

substr(『hello world』,3,5)[引數3可選]

replace

將乙個字串中的子字串替換成其他的字串

replace(『hello world』,』l』,』www』)

concat

連線兩個字串

concat(『3071』,』88888』)

initcap

首字元大寫

initvap(『hello world』)

2、日期函式

函式名函式功能

例項hh

一天的小時數 (01-12)

hh12

一天的小時數 (01-12)

hh24一天的小時數 (00-23)

mi分鐘 (00-59)

ss秒 (00-59)

ms毫秒 (000-999)

us微秒 (000000-999999)

ssss

午夜後的秒 (0-86399)

am 或 a.m. 或 pm 或 p.m.

正午標識(大寫)

am 或 a.m. 或 pm 或 p.m.

正午標識(小寫)

y,yyy

帶逗號的年(4 和更多位)

yyyy

年(4和更多位)

yyy年的後三位

yy年的後兩位

y年的最後一位

sysdate

用來得到系統的當前日期

select sysdate from dual;

add_months

增加或減去月份

add_months(sysdate,2)

last_day

返回日期的最後一天

last_day(to_date(『2017/08』,』yyyy-mm』))[結果:2017/8/31]

months_between(date2,date1)

給出date2和date1相差的月份

next_day(date,』day』)

給出日期date和星期x之後計算下乙個星期的日期

next_day(sysdate,』星期三』)[結果:2017/11/1 22:46:10]

trunc(date,fmt)

按照給出的要求將日期截斷,如果fmt=『mi』表示保留分,截斷秒

trunc(sysdate,』hh』)

months_between

顯示日期相差的月數

months_between(sysdate,add_months(sysdate,2))[結果:-2]

3.轉換函式

函式名返回型別

函式功能

to_char(timestamp,text)

text

把timestamp轉換成string

to_char(int,text)

text

把 int4/int8 轉換成string

to_char(doubleprecision, text)

text

把 real/double precision 轉換成string

to_char(numeric,text)

text

把 numeric轉換成 string

to_date(text,text)

date

把string轉換成date

to_timestamp(text,text)

date

把string轉換成timestamp

to_number(text,text)

numeric

把string轉換成numeric

4.其他函式

函式名函式功能

例項uid

返回標識當前使用者的唯一整數

select uid from dual;[結果:81 此時登入使用者為scott]

user

返回當前使用者的名字

select user from dual;[結果:scott]

nvl(expr1, expr2)

nvl(expr1, expr2)表示如果expr1為null,返回expr2;不為null,返回expr1。注意expr1和expr2兩者的型別要一致

select nvl(comm,100) from emp;

nvl2 (expr1, expr2, xpr3)

expr1不為null,返回expr2;為null,返回expr3。expr2和expr3型別不同的話,expr3會轉換為expr2的型別

nullif (expr1, expr2)

expr1和expr2相等返回null,不等返回expr1

oracle學習(使用了PL SQL) 1

2.1字元型別 1.char 固定長度,最大長度為200位元組.2.varcahr2 動態長度 最大長度為4000位元組 2.2數字型別 1.number 表示整形,使用整形整形最好宣告長度,例如number 3 2.number 浮點型,類似於sql server中的decimal 8,3 這裡一...

Oracle11g安裝後如何使用PL SQL

使用pl sql的方法 1,檢視電腦服務,確保以下倆服務開啟。xlistener 已啟動 oracleserviceorcl 已啟動 2,登入 使用者名稱 scott 密碼 tiger 原因 預設oracle11g的scott不能登陸。3,使用者解鎖 1 以管理員的身份登入資料庫 system sy...

不安裝Oracle客戶端也能使用PL SQL

不安裝oracle,怎麼才能使用pl sql呢?oracle動輒幾百m,在現在的機器配置下,當然空間不是問題,但是有時候,啟動的一些服務帶來不小的效能影響。使用instantclient吧,免安裝,免費,配置簡單,不啟動服務。在資料夾內建立目錄,network admin。如 d instantcl...