当前位置:数据库 > Oracle >>

sql not between 用法

表达式的结果值是否在指定范围内。entity sql between 表达式的功能与 transact-sql between 表达式相同。

expression
要测试是否在 begin_expression 和 end_expression 所定义的范围内的任何有效表达式。expression 必须与 begin_expression 和 end_expression 的类型都相同。

begin_expression
任何有效的表达式。begin_expression 必须与 expression 和 end_expression 的类型都相同。begin_expression 应小于 end_expression,否则返回值将取反。

end_expression
任何有效的表达式。end_expression 必须与 expression 和 begin_expression 的类型都相同。

not
指定对 between 的结果取反。

and
用作一个占位符,指示 expression 应该处于由 begin_expression 和 end_expression 指定的范围内。

 

sql> -- create demo table
sql> create table employee(
  2    id                 varchar2(4 byte)         not null,
  3    first_name         varchar2(10 byte),
  4    last_name          varchar2(10 byte),
  5    start_date         date,
  6    end_date           date,
  7    salary             number(8,2),
  8    city               varchar2(10 byte),
  9    description        varchar2(15 byte)
 10  )
 11  /

table created.

sql>
sql> -- prepare data
sql> insert into employee(id,  first_name, last_name, start_date,                     end_date,                       salary,  city,       description)
  2               values ('01','jason',    'martin',  to_date('19960725','yyyymmdd'), to_date('20060725','yyyymmdd'), 1234.56, 'toronto',  'programmer')
  3  /

1 row created.

sql> insert into employee(id,  first_name, last_name, start_date,                     end_date,                       salary,  city,       description)
  2                values('02','alison',   'mathews', to_date('19760321','yyyymmdd'), to_date('19860221','yyyymmdd'), 6661.78, 'vancouver','tester')
  3  /

1 row created.

sql> insert into employee(id,  first_name, last_name, start_date,                     end_date,                       salary,  city,       description)
  2                values('03','james',    'smith',   to_date('19781212','yyyymmdd'), to_date('19900315','yyyymmdd'), 6544.78, 'vancouver','tester')
  3  /

1 row created.

sql> insert into employee(id,  first_name, last_name, start_date,                     end_date,                       salary,  city,       description)
  2                values('04','celia',    'rice',    to_date('19821024','yyyymmdd'), to_date('19990421','yyyymmdd'), 2344.78, 'vancouver','manager')
  3  /

1 row created.

sql> insert into employee(id,  first_name, last_name, start_date,                     end_date,                       salary,  city,       description)
  2                values('05','robert',   'black',   to_date('19840115','yyyymmdd'), to_date('19980808','yyyymmdd'), 2334.78, 'vancouver','tester')
  3  /

1 row created.

sql> insert into employee(id,  first_name, last_name, start_date,                     end_date,                       salary, city,        description)
  2                values('06','linda',    'green',   to_date('19870730','yyyymmdd'), to_date('19960104','yyyymmdd'), 4322.78,'new york',  'tester')
  3  /

1 row created.

sql> insert into employee(id,  first_name, last_name, start_date,                     end_date,                       salary, city,        description)
  2                values('07','david',    'larry',   to_date('19901231','yyyymmdd'), to_date('19980212','yyyymmdd'), 7897.78,'new york',  'manager')
  3  /

1 row created.

sql> insert into employee(id,  first_name, last_name, start_date,                     end_date,                       salary, city,        description)
  2                values('08','james',    'cat',     to_date('19960917','yyyymmdd'), to_date('20020415','yyyymmdd'), 1232.78,'vancouver', 'tester')
  3  /

1 row created.

sql>
sql>
sql>
sql> -- display data in the table
sql> select * from employee
  2  /

id   first_name last_name  start_dat end_date      salary city       description
---- ---------- ---------- --------- --------- ---------- ---------- ---------------
01   jason      martin     25-jul-96 25-jul-06    1234.56 toronto    programmer
02   alison     mathews    21-mar-76 21-feb-86    6661.78 vancouver  tester
03   james      smith      12-dec-78 15-mar-90    6544.78 vancouver  tester
04   celia      rice       24-oct-82 21-apr-99    2344.78 vancouver  manager
05   robert     black      15-jan-84 08-aug-98    2334.78 vancouver  tester
06   linda      green      30-jul-87 04-jan-96    4322.78 new york   tester
07   david      larry      31-dec-90 12-feb-98    7897.78 new york   manager
08   james      cat        17-sep-96 15-apr-02    1232.78 vancouver  tester

8 rows selected.

sql>
sql>
sql> select * from employee where id not between 1 and 3;

id   first_name last_name  start_dat end_date      salary city       description
---- ---------- ---------- --------- --------- ---------- ---------- ---------------
04   celia      rice       24-oct-82 21-apr-99    2344.78 vancouver  manager
05   robert     black      15-jan-84 08-aug-98    2334.78 vancouver  tester
06   linda      green      30-jul-87 04-jan-96    4322.78 new york   tester
07   david      larry      31-dec-90 12-feb-98    7897.78 new york   manager
08   james      cat        17-sep-96 15-apr-02    1232.78 vancouver  tester

sql>
sql>
sql>
sql> -- clean the table
sql> drop table employee

补充:数据库,Oracle教程
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,