VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

操作符

  • 求差集操作符:MINUS

    vastbase=# select * from dept 
    vastbase-# minus
    vastbase-# select * from dept where deptno=10;
    deptno |   dname    |   loc   
    --------+------------+---------
     30 | SALES      | CHICAGO
     20 | RESEARCH   | DALLAS
     40 | OPERATIONS | BOSTON
    (3 rows)
    
  • 不等于操作符:^=

    vastbase=#  select 1^=1 from dual;
    ?column? 
    ----------
    f
    (1 row)
    
  • 时间 + 整数操作符:date + int

    vastbase=# select sysdate,sysdate+1;
       sysdate       |      ?column?       
    ---------------------+---------------------
    2020-09-25 15:24:48 | 2020-09-26 15:24:48
    (1 row)
    
  • 时间 - 整数操作符:date – int

    vastbase=# select sysdate,sysdate-1;
       sysdate       |      ?column?       
    ---------------------+---------------------
    2020-09-25 15:25:56 | 2020-09-24 15:25:56
    (1 row)
    
  • 时间与字符的比较

    vastbase=# select sysdate>'2020-05-17'::text,sysdate;
    ?column? |       sysdate       
    ----------+---------------------
    t        | 2020-09-25 15:28:00
    (1 row)
    vastbase=# select sysdate>='2020-05-17'::text,sysdate;
    ?column? |       sysdate       
    ----------+---------------------
    t        | 2020-09-25 15:28:56
    (1 row)
    
    vastbase=# select sysdate<'2020-05-17'::text,sysdate;
    ?column? |       sysdate       
    ----------+---------------------
    f        | 2020-09-25 15:29:09
    (1 row)
    
    vastbase=#  select sysdate<='2020-05-17'::text,sysdate;
    ?column? |       sysdate       
    ----------+---------------------
    f        | 2020-09-25 15:29:20
    (1 row)
    
    vastbase=# select sysdate='2020-05-17'::text,sysdate;
    ?column? |       sysdate       
    ----------+---------------------
    f        | 2020-09-25 15:29:31
    (1 row)
    
  • 时间 - 时间操作符:date – date

    vastbase=# select sysdate-(sysdate-11);
    ?column? 
    ----------
    11 days
    (1 row)
    
  • 数值类型+/- 字符 操作符

    select 1::int+'1'::text;
    select 1::smallint+'1'::text;
    select 1::bigint-'1'::text;
    select 1::int-'1'::text;
    select 1::smallint-'1'::text;
    select 1.1::float+'1'::text;
    select 1.1::double precision+'1'::text;
    select 1.1::number+'1'::text;
    select 1.1::float-'1'::text;
    select 1.1::double precision-'1'::text;
    select 1.1::number-'1'::text;
    

    执行如下:

    vastbase=# select 1::int+'1'::text; 
    ?column? 
    ----------        
          2
    (1 row)
    vastbase=# select 1::smallint+'1'::text; 
    ?column? 
    ----------        
          2
    (1 row)
    vastbase=# select 1::bigint-'1'::text; 
    ?column?
    ----------        
          0
    (1 row)
    vastbase=# select 1::int-'1'::text; 
    ?column?
    ----------        
          0
    (1 row)
    vastbase=# select 1::smallint-'1'::text; 
    ?column? 
    ----------
          0
    (1 row)
    vastbase=# select 1.1::float+'1'::text; 
    ?column? 
    ----------
      2.1
    (1 row)vastbase=# select 1.1::double precision+'1'::text; 
    ?column? 
    ----------
      2.1
    (1 row)vastbase=# select 1.1::number+'1'::text; 
    ?column? 
    ----------
      2.1
    (1 row)
    vastbase=# select 1.1::float-'1'::text; 
    ?column? 
    ----------
       .1
    (1 row)
    vastbase=# select 1.1::double precision-'1'::text; 
    ?column?
    ----------
        .1
    (1 row)
    vastbase=# select 1.1::number-'1'::text; 
    ?column? 
    ----------
       .1
    (1 row)
    
  • 数值类型 *、/ 字符 操作符

    select 3::smallint/'2'::text;
    select 3::bigint/'2'::text;
    select 3::int/'2'::text;
    select 3::int*'2'::text;
    select 3::bigint*'2'::text;
    select 3::smallint*'2'::text;
    select 3.8::float/'2'::text;
    select 3.8::double precision /'2'::text;
    select 3.8::number /'2'::text;
    
    vastbase=# select 3::smallint/'2'::text;
    ?column? 
    ----------
      1.5
    (1 row)
    vastbase=# select 3::bigint/'2'::text;
    ?column? 
    ----------
      1.5
    (1 row)
    
    vastbase=# select 3::int/'2'::text;
    ?column? 
    ----------
      1.5
    (1 row)
    
    vastbase=# select 3::int*'2'::text;
    ?column? 
    ----------
        6
    (1 row)
    
    vastbase=# select 3::bigint*'2'::text;
    ?column? 
    ----------
        6
    (1 row)
    
    vastbase=# select 3::smallint*'2'::text;
    ?column? 
    ----------
        6
    (1 row)
    
    vastbase=# select 3.8::float/'2'::text;
    ?column? 
    ----------
      1.9
    (1 row)
    
    vastbase=# select 3.8::double precision /'2'::text;
    ?column? 
    ----------
      1.9
    (1 row)
    
    vastbase=# select 3.8::number /'2'::text;
    ?column?
    ----------
      1.9
    (1 row)
    
  • 数值型与字符型的比较

    select 1='1'::text;
    select 10='1'::text;
    select 10>'1'::text;
    select 10>='1'::text;
    select 10<='1'::text;
    select 10<'1'::text;
    select 10<>'1'::text;
    select 10::float <>'1'::text;
    select 10::float >'1'::text;
    select 10::float >='1'::text;
    select 10::float <='1'::text;
    select 10::float <'1'::text;
    
    vastbase=# select 1='1'::text;
    ?column? 
    ----------
    t
    (1 row)
    
    vastbase=# select 10='1'::text;
    ?column? 
    ----------
    f
    (1 row)
    
    vastbase=# select 10>'1'::text;
    ?column? 
    ----------
    t
    (1 row)
    
    vastbase=# select 10>='1'::text;
    ?column? 
    ----------
    t
    (1 row)
    
    vastbase=# select 10<='1'::text;
    ?column? 
    ----------
    f
    (1 row)
    
    vastbase=# select 10<'1'::text;
    ?column? 
    ----------
    f
    (1 row)
    
    vastbase=# select 10<>'1'::text;
    ?column? 
    ----------
    t
    (1 row)
    
    vastbase=# select 10::float <>'1'::text;
    ?column? 
    ----------
    t
    (1 row)
    
    vastbase=# select 10::float >'1'::text;
    ?column? 
    ----------
    t
    (1 row)
    
    vastbase=# select 10::float >='1'::text;
    ?column? 
    ----------
    t
    (1 row)
    
    vastbase=# select 10::float <='1'::text;
    ?column? 
    ----------
    f
    (1 row)
    
    vastbase=# select 10::float <'1'::text;
    ?column? 
    ----------
    f
    (1 row)
    
  • 连接操作符||

    vastbase=# select empno||ename from emp;  
    ?column?  
    ------------ 
    7369SMITH 
    7499ALLEN 
    7521WARD 
    7566JONES 
    7654MARTIN 
    7698BLAKE 
    7782CLARK 
    7839KING 
    7844TURNER 
    7900JAMES 
    7902FORD 
    7934MILLER
    (12 rows)