1. 程式人生 > >-- oracle 中的常用函數

-- oracle 中的常用函數

dsfa ffd for rtrim rim tween last 空格 bis


select concat(‘nishi‘,‘shabi‘) from dual -- 鏈接兩個字符串
select ‘ni‘||‘shi‘||‘shabi‘ from dual -- 鏈接多個字符串
select initcap(‘ni shi shi bi‘) from dual -- 首字母大寫
select instr(‘ni shi shi bi‘,‘s‘,5) from dual -- 返回子字符串在母字符串中首次出現
--的位置,下標從1開始。如果有第三個參數,代表從第幾個字符開始查找。第四個參數代表
--查詢第幾次出現的字符串的下標,默認是1。查詢不到返回0。
select upper(‘fdalokjfodafjda fdasfd‘) from dual-- 所有字母大寫

select lower(‘fdaFDFGFDSfaesdg FGEfa‘) from dual-- 所有字母小寫
-- 在母字符串的右邊(左邊字符串的右邊)補充子字符串。數字代表補充之後達到的字符數量。
select rpad(‘nishi‘,15,‘shabi‘) from dual
select lpad(‘shabi‘,12,‘nishi‘) from dual
--在右邊刪除指定字符串的函數。第一個參數代表要處理的字符串,如果沒有第二個參數代
--表刪除空格,如果有第二個參數代表要刪除第二個參數指定的字符串
select rtrim(‘fdsakjjfn 4156 5sa22sa asa‘,‘a‘) from dual
select ltrim(‘ fdsakjjfn 4156 5sa22sa asa‘) from dual
--截取字符串。第一個參數代表要處理的字符串,第二個參數代表從第幾位開始截取,默認
--從1開始。第三個參數代表最多截取多少個字符
select substr(‘nijiushigedashabishabi‘,15,8) from dual
--替換字符串。第一個參數代表要處理的字符串。第二個參數表示要替換的字符串,第三個
--參數表示替換後的字符串
select replace(‘fdsaffdsaf‘,‘ff‘,‘gg‘) from dual
--分別從字符串2的兩邊開始刪除指定的字符1,如果第前兩個參數和from省略,則刪除字
--符串2兩邊的空格
select trim(leading ‘s‘ from ‘sp ss ps‘) from dual
select trim(trailing ‘s‘ from ‘sp ss ps‘) from dual
select trim(both ‘s‘ from ‘sp ss ps‘) from dual
--處理數值類型的常用函數
select abs(-45) from dual -- 返回絕對值
--返回大於或等於給出數字的最小整數
select ceil(2.55) from dual
--對給定的數字取整數
select floor(2.99) from dual
--返回一個n1除以n2的余數
select mod(10,3) from dual
--返回n1的n2次方
select power(2,5) from dual
--取數字n的符號,大於0返回1,小於0返回-1,等於0返回0
select sign(20) from dual
--返回數字的根
select sqrt(9) from dual
--按照指定的精度四舍五入
select round(2.6) from dual
--按照指定的精度截取一個數,第二個參數表示取小數點後面幾位數
select trunc(2.993,2) from dual
--日期函數
-- 獲取當前日期
select sysdate from dual
-- 增加或減去月份
select add_months(sysdate,1) from dual
select add_months(sysdate,-1) from dual
-- 返回日期的最後一天
select last_day(sysdate) from dual
--給出date2和date1相差的月份
select months_between(sysdate,‘6-3月-2019‘) from dual
select months_between(‘10-9月-2018‘,‘6-9月-2019‘) from dual
-- 給出日期date和星期x之後計算下一個星期的日期
select next_day(sysdate,‘星期一‘) from dual
-- 按指定格式截取日期
select trunc(sysdate, ‘year‘) from dual; --截取到年(本年的第一天)
2019 / 1 / 1

select trunc(sysdate, ‘q‘) from dual; --截取到季度(本季度的第一天)
2019 / 4 / 1

select trunc(sysdate, ‘month‘) from dual; --截取到月(本月的第一天)
或select trunc(sysdate, ‘mm‘) from dual; --截取到月(本月的第一天)
2019 / 4 / 1

select trunc(sysdate, ‘‘) from dual;--空
--修改日期格式為年月日時分秒:
alter session set nls_date_format=‘yyyy-mm-dd hh24:mi:ss‘;
select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) as nowTime from dual; //日期轉化為年月日時分秒格式
select to_char(sysdate,‘yyyy‘) nowYear from dual; //獲取時間的年
select to_char(sysdate,‘mm‘) nowMonth from dual; //獲取時間的月
select to_char(sysdate,‘dd‘) nowDay from dual; //獲取時間的日
select to_char(sysdate,‘hh24‘) nowHour from dual; //獲取時間的時
select to_char(sysdate,‘mi‘) nowMinute from dual; //獲取時間的分
select to_char(sysdate,‘ss‘) nowSecond from dual; //獲取時間的秒
--把字符串轉換為日期 有兩個參數,第一個參數是要轉換的日期的字
--符串,第二個參數日期字符串的格式
select to_date(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) from dual

-- oracle 中的常用函數