1 select name,length(name) from user;
运行后得到:
name length(name)
admin 6
de 2但是 我的表原来是以下这样的:
id name
1 de
2 admin请问可否改为运行后的结果如下;
name length(name)
de 2
admin 6
2 begin
dbms_output.put_line(sysdate);
end;
运行后结果为
12-12月-10 begin
dbms_output.put_line(to_char(round(sysdate,'mm')));
end;
运行后结果为:
01-12月-10
请问01-12月-10是怎么得出来的呢?谢谢
运行后得到:
name length(name)
admin 6
de 2但是 我的表原来是以下这样的:
id name
1 de
2 admin请问可否改为运行后的结果如下;
name length(name)
de 2
admin 6
2 begin
dbms_output.put_line(sysdate);
end;
运行后结果为
12-12月-10 begin
dbms_output.put_line(to_char(round(sysdate,'mm')));
end;
运行后结果为:
01-12月-10
请问01-12月-10是怎么得出来的呢?谢谢
select name,length(name) from user order by id;
2、round() 四舍五入 月份以15日为界分为上半月和下半月--今天是12 12号 (上半月) 四舍五入到月话就是 12 01
scott@YPCOST> select round(sysdate,'mm') from dual;ROUND(SYSDATE,'MM')
-------------------
2010-12-01 00:00:00--12 16 号 (下半月) 四舍五入到月的话 就是下一个月 2011 01 01
scott@YPCOST> select round(sysdate+4,'mm') from dual;ROUND(SYSDATE+4,'MM
-------------------
2011-01-01 00:00:00scott@YPCOST> select sysdate+4,round(sysdate+4,'mm') from dual;SYSDATE+4 ROUND(SYSDATE+4,'MM
------------------- -------------------
2010-12-16 15:13:38 2011-01-01 00:00:00scott@YPCOST> select sysdate+3,round(sysdate+3,'mm') from dual;SYSDATE+3 ROUND(SYSDATE+3,'MM
------------------- -------------------
2010-12-15 15:14:04 2010-12-01 00:00:00
scott@YPCOST> select trunc(sysdate,'mm') from dual;TRUNC(SYSDATE,'MM')
-------------------
2010-12-01 00:00:00scott@YPCOST> select trunc(sysdate+4,'mm') from dual;TRUNC(SYSDATE+4,'MM
-------------------
2010-12-01 00:00:00
select name,length(name) from user order by id;2、两种方法,使用to_char直接转换后输出,或者使用sql*plus命令设置输出日期格式
SQL> exec dbms_output.put_line(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
2010-12-12 15:31:20
PL/SQL 过程已成功完成。SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
会话已更改。SQL> exec dbms_output.put_line(sysdate);
2010-12-12 15:31:45
PL/SQL 过程已成功完成。
2.多于15天算一个月嘛。。少于就不算。。