oracle 序列和系统时间的存取

来源:互联网 发布:轻轻松松背单词软件 编辑:程序博客网 时间:2024/05/15 05:59

建立序列的常用方法:
CREATE   SEQUENCE   test_seq;
这个序列其初始值为1,每次使用时增加1。
使用序列:
DROP   TABLE   test;
CREATE   TABLE   test   (
        id   NUMBER(10,0),
        text   VARCHAR2(40)
);
INSERT   INTO   test   VALUES(
        test_seq.nextval,
        'The   first   insert   statement '
);
INSERT   INTO   test   VALUES(
        test_seq.nextval,
        'The   second   insert   statement '
);
SELECT   *   FROM   test;

其他相关参数:
CREATE   SEQUENCE   test   INCREMENT   BY   3   START   WITH   10   MAXVALUE   60   MINVALUE

  5   CYCLE;
增量间隔3,   从10开始,   最大值60,   最小值5,循环。

修改已有序列举例(语法类似建立序列):
ALTER   SEQUENCE   test   INCREMENT   BY   3   NOCYCLE;
----------------------------------------------------------------------------------
获取系统时间:
日期函数:SYSDATE   TRUNC
SYSDATE   获得前系统日期和时间信息
TRUNC   可以在插入或查询时滤掉时间信息

DROP   TABLE   test;
CREATE   TABLE   test   (
        test_date   DATE,
        text   VARCHAR2(40)
);
INSERT   INTO   test   VALUES(
        TRUNC(SYSDATE),
        '过滤掉了时间信息 '
);
INSERT   INTO   test   VALUES(
        SYSDATE,
        '包含时间信息,但是不显示出来 '
);
SELECT   *   FROM   test;

1 4/3/2012 过滤掉了时间信息
2 4/3/2012 6:56:10 PM 包含时间信息,但是不显示出来
显示两条纪录。
记下显示的日期信息替换下面两条查询语句中的dd-mmm-yy。

SELECT   *   FROM   test   WHERE   test_date= 'dd-mmm-yy ';
替换之后
SELECT   *   FROM   test   WHERE   test_date= '03-4月-2012';
1 4/3/2012 过滤掉了时间信息
特别注意:由于第二条纪录包含时间信息,所以不会被列出。 只显示一条信息


SELECT   *   FROM   test   WHERE   TRUNC(test_date)= 'dd-mmm-yy ';
SELECT   *   FROM   test   WHERE   TRUNC(test_date)= '03-4月-2012';
1 4/3/2012 过滤掉了时间信息
2 4/3/2012 6:56:10 PM 包含时间信息,但是不显示出来
显示两条纪录。

原创粉丝点击