oracle常用函式列表

2021-08-24 19:25:50 字數 2783 閱讀 8646

一.日期函式

1. add_months(date, num);

2  months_between(date1,date2) 返回可能是整數,也可能是小數

3  last_day(date) 返回日期當天的最後一天

4 round(date, [fmt]) 返回日期值,四捨五入到指定的單位

eg. 

select round(sysdate,'year') from dual

5 next_day(date, day) 返回指定的下乙個星期幾的日期

eg. select next_day(sysdate, '星期日') from dual

6 trunc(date,[fmt]) 返回指定格式截斷的日期

eg .  select trunc(sysdate,'year') from dual

7 extract(fmt  from date) 函式提取日期時間型別中指定的部分

eg select extract(year from sysdate) from dual;

二、字元函式

1 initcap(char) 首字母大寫

2 lower(char) 轉換為小寫

3 upper(char)轉換為大寫

4 ltrim(char, [set]) 左剪下

5 rtrim(char,[set])右剪下

6 trim(char) 剪下

eg . select trim('9' from '990gfdsg889') from dual 返回 0gfdsg88

7 translate(char, from, to)按字元翻譯

eg.   select translate('addgxx','abcd','1234') from dual 返回 144gxx

8 instr(char, substr,[pos]) 查詢子串位置

eg. select instr('addgxx','a') from dual 返回 1

9 substr(char, pos, len) 取子串

10 concat(char1,char2) 連線字串

11 chr(num) 返回ascii相應的字元

eg. select chr(65) from dual 返回a

select ascii('a') from dual 返回97

12 lpad(char, target_len, fill_char) 左填充

eg. select lpad('ffadd',10,'*') from dual 返回 *****ffadd

13 rpad(char, target_len, fill_char) 右填充

14 length(char) 返回字串長度

eg. select length('ddff中文') from dual 返回6

乙個資料庫表,列型別威varchar2, 當資料庫編碼gbk 時, 乙個漢字佔2個位元組,當資料庫編碼為utf-8時, 乙個漢字佔3個位元組, length函式中乙個漢字長度為1

15 decode(expression,search1,result1, search2, result2,[defualt])

eg. 

select decode(id,1,'一','2','二') from test_table

二、數學函式

1. abs(n) 絕對值

2. ceil (n) 向上取整

select ceil(556.44) from dual 返回557

3. floor(n) 向下取整

4. round(m,n) 四捨五入

eg. select round(556.44,-1) from dual 返回 560

select round(556.44,1) from dual 返回 556.4

5. trunc(m,n) 數字截斷

eg. select trunc(556.44,1) from dual  返回 556.4

select trunc(556.44,-1) from dual 返回550

三、轉換函式

1. to_char(date|num,[fmt])

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual

2. to_date(char,[fmt])

3.  to_number(char)

4. nvl(expr1,expr2) 如果nvl為null返回expr2,否則返回expr1

5. nvl2(expr1,expr2,expr2) 如果expr1不為null返回expr2,如果為null,返回expr3

6. nullif(expr1,expr2) 如果兩個表式相等返回null,如果不相等返回expr1

四、分析函式:

1.row_number() over ([partition by column_name] order_by_clause ) 返回連續排名

2.rank() over ([partition by column_name] order_by_clause )排名可能跳躍

3.dense_rank() over ([partition by column_name] order_by_clause )排名可能重複

eg. 對員工的工資按部門進行排序

select e.*, dense_rank() over(partition by deptno order by sal) as sal_rank from scott.emp e order by empno

Mysql常用函式列表

字串類 charset str 返回字串字符集 concat string2 連線字串 instr string substring 返回substring首次在string中出現的位置,不存在返回0 lcase string2 轉換成小寫 left string2 length 從string2中...

Mysql常用函式列表

字串類 charset str 返回字串字符集 concat string2 連線字串 instr string substring 返回substring首次在string中出現的位置,不存在返回0 lcase string2 轉換成小寫 left string2 length 從string2中...

Mysql常用函式列表

字串類 charset str 返回字串字符集 concat string2 連線字串 instr string substring 返回substring首次在string中出現的位置,不存在返回0 lcase string2 轉換成小寫 left string2 length 從string2中...