建立序列的常用方法:
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 包含时间信息,但是不显示出来
显示两条纪录。