部分重要SQL语句

TO_CHAR(date, 'fmt')
用于将日期或时间戳转换成varchar2类型字符串,如果指定了格式字符串,则用它控制结果的结果。
格式控制串由格式元素构成。
格式控制串必须用单引号括起来
Select to_char(sysdate, 'dd-mon-yy hh24:mi:ss') "Rigth Now" from dual;
select ename, hiredate, to_char(hiredate,'yyyy/mm/dd') from emp
select sysdate, to_char(sysdate,'yyyy-mon-dd hh12:mi:ss') from dual;

to_char(num,format)
用于将Number类型参数转换为varchar2类型,如果指定了format,它会控制整个转换。
select to_char(sal, ‘$99,999.9999’) salary from emp where ename = ‘ALLEN’;
select to_char(sal, ‘$00,000.0000’) salary from emp where ename = ‘ALLEN’;
select to_char(123456, '99,99,00') from dual;

to_date (String,format)
将char或varchar2类型的string转换为date类型
Select to_date('04,05,19,10,23,40','yy,mm,dd,hh12,mi,ss') from dual;
select to_date('2004-09-19','yyyy-mm-dd') from dual;

to_number(String,format)
将char或varchar2类型的string转换为number类型
select to_number('$39343.783','$99990.000')  from dual;
select to_number('11.231','999.999') from dual;

Oracle和mysql中的分页技术:
Oracle分页:
Oracle下select语句每个结果集中都有一个伪字段存在,这个字段的名字叫做rownum.用来标识每条记录的行号,行号从1开始,每次递增1
只能使用:<,<=
注意:Oracle中的rownum的是在取数据的时候产生的序号 。当rownum和order by一起使用时,会首先选出符合rownum条件的记录,然后再进行排序,这会给我们的查询带来难度。
select r,ename,sal from
(select rownum r,ename,sal
from (select * from emp order by sal desc)

where r>5 and r <=10;
rowid和rownum都是虚列,但含义完全不同。rowid是物理地址,用于定位oracle中具体数据的物理存储位置,而rownum则是sql的输出结果排序。通俗的讲:rowid是相对不变的,rownum会变化,尤其是使用order by的时候

mysql分页:
Limit:
Select * from …  where ….  limit 4, 10

数据库逻辑备份和迁移
C:\Documents and Settings\Administrator>exp scott/tiger tables=(emp,dept) file=d:\data.dmp

C:\Documents and Settings\Administrator>imp system/orcl fromuser=scott touser=system tables=(emp,dept) file=d:\data.dmp

猜你喜欢

转载自peihong-ph.iteye.com/blog/1717760
今日推荐