Oracle常用函数

286 阅读1分钟

--查询当前用户下的表
select * from tab;

--查询所有表
select * from all_all_tables

--查询表结构
select * from user_tab_columns where table_name = 'T00_ORGAN';

--dual表:伪表
select 'hello' || ' world' from dual;

--lower() 转小写 upper() 转大写
select lower('HELLO WORLD'), upper('hello world') from dual;

--substr(a, b)从字符串a中的第b位开始截取 bcdefg
select substr('abcdefg', 2) from dual;

--substr(a,b,c) 从a中,第b位开始取,取c位 def
select substr('abcdefg',4,3) str from dual;

--查询字符串长度
select length('abcd') from dual;

--instr(a,b) 在a中,查找b 2
select instr('abcd', 'b') from dual;

--trim()去掉前后指定字符 abcd
select trim('H' from 'HabcdH') from dual;

--replace替换指定字符 habcdh
select replace('HabcdH', 'H', 'h') from dual;

--四舍五入 23.87 23.9 24
select round('23.865', '2') 保留两位, round('23.865', '1') 保留一位, round('23.865', '0') 不保留 from dual;

--当前时间
select sysdate from dual;

--把日期和数字转换为制定格式的字符串
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

--昨天 今天 明天
select (sysdate-1) 昨天,sysdate 今天,(sysdate+1) 明天 from dual;

--每月的最后一天 2018/6/30 23:52:06
select last_day(sysdate) from dual;

--nvl(a, b) 如果a=null 返回b 否则返回a
select nvl('', 'a=null') from dual;

--nvl2(a, b, c) 当a=null的时候,返回c;否则返回b a=null
select nvl2('', 'a!=null', 'a=null') from dual;

--nullif(a, b) 当a=b的时候,返回null;否则返回a
select nullif('abc', 'abc') from dual;
select nullif('abc', 'abca') from dual;