oracle学习笔记-命令和函数(二)

2014-11-24 17:04:10 · 作者: · 浏览: 4
Q digit 季度 显示值:4
WW digit 当年第几周 显示值:44
W digit 当月第几周 显示值:1
1. 日期和字符转换函数用法(to_date,to_char)
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串
select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年
select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的月
select to_char(sysdate,'dd') as nowDay from dual; //获取时间的日
select to_char(sysdate,'hh24') as nowHour from dual; //获取时间的时
select to_char(sysdate,'mi') as nowMinute from dual; //获取时间的分
select to_char(sysdate,'ss') as nowSecond from dual; //获取时间的秒
select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual;
2求某天是星期几
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;
星期一
3查找月份。
select months_between(to_date('01-31-1999','MM-DD-YYYY'),to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;
1
2.Months_between(日期1,日期2)
返回日期1和日期2之间的月数
select months_between(
to_date('2010-2-1','yyyy-mm-dd'),
to_date('2010-3-1','yyyy-mm-dd')
) from dual;
结果:-1
3.Add_months(日期,n)
把n个月加到日期上
select add_months(sysdate,'1') from dual;
结果:2010-9-24 15:53:12
4.Next_day(日期,字符串)
返回下一个由字符串(星期几)指定的日期
select next_day(to_date('2010-2-1','yyyy-mm-dd'),'星期一') from dual;、
结果:2010-2-8
注意:因为安装时中文的oracle 所以这里要用星期一
5.Last_day(日期)
返回该日期所在月份的最后一天
select last_day(to_date('2010-2-1','yyyy-mm-dd')) from dual;
结果:2010-2-28
6、to_char(日期,格式)
格式:
Yyyy:完整的年份
Year:年份的英文表示
MM:两位数表示月份
Month:月份完整的英文表示
Dy:用3个英文字符缩写表示星期几
Day: 星期几的完整英文表示
DD:几号的数字表示
select to_char(to_date('2010-2-1','yyyy-mm-dd'),'dy') from dual;
结果:星期一
select to_char(to_date('2010-2-1','yyyy-mm-dd'),'yyyy') from dual;
结果:2010
select to_char(to_date('2010-2-1','yyyy-mm-dd'),'year') from dual;
结果:twenty ten
select to_char(to_date('2010-2-1','yyyy-mm-dd'),'month') from dual;
结果:2月
7.To_char(数字,格式)
格式:
9:一位数字
0:显示前导零
$:显示美元符号
L: 显示本地货币符号
.:显示小数点
,:显示千位符
MI: 在数的右边显示减号
PR:把复数用尖括号括起来 www.2cto.com
select to_char(20,9) from dual;
结果:##
select to_char(2,9) from dual;
结果:2
select to_char(3434,9999.99) from dual;
结果:3434.00
select to_char(3434,9999.90) from dual;
结果:3434.0
select to_char(03434,'L99999.00') from dual;
结果: ¥3434.00
select to_char(03434,'L09999.00') from dual;
结果: ¥03434.00
select to_char(123,'009') from dual;
结果:123
select to_char(123,'00999') from dual;
结果:00123
select to_char(-123,'999PR') from dual;
结果:<123>
select to_char(-123,'999MI') from dual;
结果:123-
8.To_number(字符串)