日期:2014-05-16  浏览次数:20401 次

oracle 常用语句

1.当前时间转成秒?

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') current_date, (sysdate- to_date('1970-01-01','yyyy-mm-dd')) * 86400 current_milli from dual;?

?

?

总之记住,30/(24*60*60)中的(24*60*60)这一截为计算的标准单位,24*60*60就是以秒为单位,24*60则是以分为单位,那24当然是以小时为单位啦。

sysdate-6/(24*60*60) 就是表示当前时间的前6秒;
sysdate-6/(24*60)??? 就是表示当前时间的前6分;
sysdate-6/24?????? 就是表示当前时间的前6个小时;

?

例如:

select sysdate,sysdate-6/24,sysdate-30/24 from dual

select sysdate,sysdate-6/24,sysdate-6/(24*60) from dual

select sysdate,sysdate-6/24,sysdate-6/(24*60*60) from dual

?

?

2.增加一个列

  ALTER TABLE 表名 ADD(列名,数据类型);

  eg1:

  ALTER TABLE skate_test ADD(author NUMBER(38,0) not null);

?

3.编辑表的字段

  修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时有诸多限制):

  语法:

  ALTER TABLE 表名 MODIFY(列名,数据类型);

  eg1:

  alter table skate_test modify (author number(10,0) )

  在修改列的长度时候,只能编辑比现有字段实际存的长度还要大,否则提示下面的错误:

  ORA-01441: 无法减小列长度, 因为一些值过大

  eg2:

  alter table skate_test modify (author varchar2(10) )

  在修改列的数据类型的时候,所修改的列必须为空,否则提示下面的错误:

  ORA-01439: 要更改数据类型, 则要修改的列必须为空

?

?

4.给列改名:

  语法:

  ALTER TABLE 表名 RENAME COLUMN 当前列名 TO 新列名;

  eg1:

  ALTER TABLE skate_test RENAME COLUMN author TO authorer_new

5.删除一个列

  语法:

  ALTER TABLE 表名 DROP COLUMN 列名;

  eg1:

  alter table skate_test drop column author

6.将一个表改名

  语法:

  ALTER TABLE 当前表名 RENAME TO 新表名;

  eg1:

  alter table skate_test rename to test_sakte

7.给表加注释

  comment column on 表名.列名 is '注释内容';?? //修改表的列的注释

  COMMENT ON TABLE MOVO_NEW.TEST_SAKTE? IS '注释内容';? //修改表的注释

?