--查看序列
SELECT * FROM dba_sequences WHERE SEQUENCE_NAME LIKE '%WECHAT%'
-- Create sequence 创建序列语句
create sequence SQ_WECHAT_DEMAND_ID
minvalue 1
maxvalue 999999999999
start with 1000000
increment by 1
nocache
order;
//删除序列
call seq_reset(SQ_WECHAT_DEMAND_ID);
//比较三个数 取最大
select greatest(1,2,3) from dual
//去除日期 月 前面的 0
TO_CHAR(ACTION_DATE,'fmmm-dd') 时间,
//上午 下午 晚上 (3月15日 上午 11:22:02)
(TO_CHAR(ACTION_DATE,'fmmm"月"')||TO_CHAR(ACTION_DATE,'dd"日" AM hh:mi:ss')) 时间,
//去除字段中的空格
update 表名 set 字段名=trim(字段名)
concat和|| : concat连接两个字符,||可连接多个字符
select concat('a','b') from dual ==>ab
select 'a'||'b'||'c' from dual ==>abc
replace('将要更改的字符串','被替换掉的字符串','替换字符串')
select replace('abc','b','1') from dual ==>a1b
时间转换
Sysdate 默认年/月/日 时:分:秒 24小时制
To_char(str,’yyyy-MM-dd hh24:mi:ss’) 24小时制
To_char(str,’yyyy-MM-dd hh:mi:ss’) 非24小时制
Str为时间类型,如是字符串可通过to_date(‘20151112232311’,’yyyy-MM-dd hh:mi:ss’)
to_number转换为为数值型
nvl()函数是一个空值转换函数
nvl(expr1,expr2)
如果 expr1 是 null 值,则 nvl 函数返回 expr2 ,否则就返回 expr1 。
sign()函数
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
decode()函数
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
......
ELSIF 条件=值n THEN
RETURN(翻译值n)
ELSE
RETURN(缺省值)
END IF
select id, decode(sign(score-85),1,'优秀',0,'优秀',-1,
decode(sign(score-70),1,'良好',0,'良好',-1,
decode(sign(score-60),1,'及格',0,'及格',-1,'不及格')))
from student;
lpad()函数
lpad(string,n,[pad_string])
string: 字符串或者列名。
n:字符串总长度。如果这个值比原字符串的长度还要短,lpad函数将会把字符串截取成从左到右的n个字符;
pad_string:要填充的字符串,默认为填充空格。
select lpad('2',3,'x') from dual ==> xx2
select rpad('2',3,'x') from dual ==>2xx
//case函数
与decode函数功能类似
select ename,job,sal,case job when 'MANAGER' then sal*1.2
when 'SALESMAN' then sal*1.1
when 'CLERK' then sal*1.05
else sal end 年终奖 from emp;
网友评论