坚持,坚定,坚强

博客园 首页 新随笔 联系 订阅 管理

1. 日期函数  默认格式为 日-月-年

extarct(类型 from 日期 )  --将指定日期抽出指定的部分 类型可以是 year,day,month,hour,minute,second

months_between (日期一,日期二)  得到两个日期中相差的月份

add_months(日期,天数)      指定日期加上指定天数

next_day(日期,星期几)      得到指定日期后面的指定星期几的日期 next_day('23-6月-11','星期一') 得到的是 2011年6月27 因为这天是星期一

last_day(日期)        得到指定日期所在月份的最后一天

 

emp:

SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; return CurrentYear
SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL; return CurrentMonth
SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL; return CurrentDay

取时分秒

SELECT EXTRACT(HOUR FROM TIMESTAMP '2005-10-10 10:10:10')FROM DUAL;

日期格式转换

select to_char(sysdate,'YYYY"年"MM"月"DD"日" HH24:MI:SS') from dual;  //注意年字要用""括起来

 

2. DECODE()函数

语法

DECODE(值,条件1,结果1,条件2,结果2....)  相当于循环判断

emp:

select decode(u_name,'张三','男人','李四','女人') from user  

 

3. NVL()函数

语法

NVL(列,默认值)

emp:

select NVL(u_name,'无名') from uesrs

 

4. 字符函数

initcap(值)                首字母大写

lower(值)                 转为小写

upper(值)                转为大写

ltrim(值,去除内容)            左剪裁                  ltrim('abcdef','abc')   == def

rtrim(值,去除内容)            右剪裁

translate(值,替换内容,替换值)                         translate('tom and joy','ao','12' )   ==   t2m 1nd j2y

replace(值,替换内容,替换值)   将指定字符串替换成指定字符串         replace('tom and joy','o','mm')  ==  tmmm and jmmy

instr(值,要找的值)       找出指定字符串位置,只找第一个     instr('tom and joy','a')  ==   5  instr('tom and joy','o')  == 2

substr(值,起始位置,取多长)    截取字符串,字符串从1开始      substr('tom and joy',5,3)  == and

concat(值1,值2)          连接字符串              concat('i'm ',' superman')  == i'm superman

 

5. 数字函数

round(数字,精度)    四舍五入    round(3.1415,2)  == 3.14   round(3.1415,3) == 3.142

round(日期,格式)    对日期进行四舍五入 round(to_date('23-7月-11'),'YEAR')  如果月份大于7 到2012年1月1日 否则就是11年1月1日

if 年>7  年= 年+1

if 月>15  月=月+ 1

if 天%7 ==0 天= 天+3

 

6. 转换函数

to_char(值,转换类型)  转换成字符串类型  to_char(1234.5,'$9999.9')  == $1234.5   to_char(sysdate,'yyyy-mm-dd')

to_date(日期,格式)  将日期转换成指定格式

to_number()    转换成数值

 

7. 伪列

  ROWID : 产生一个新的序列号

  select rowid,u_name,u_pwd from users

  ROWNUM : 类似于TOP关键字的效果

  select * from users where rownum < 10 //返回十条记录

 

posted on 2011-06-23 12:02  老公鸡  阅读(245)  评论(0编辑  收藏  举报