运算符
算术运算符
算术运算符用于执行计算。
语法
select val1 operator val2 [operator val3 .. operator valN]
算术运算符如下
运算符 | 说明 |
---|---|
+ | 加法操作 |
- | 减去操作 |
* | 乘法运算 |
/ | 对操作数进行除法运算 |
示例
select 17 / 5 + 3;
#1
------------------------------------------------------------------------------
6
Selected records: 1
create table t(i integer, d date);
insert into t values([3,5],['2017-01-01','2017-02-01']);
select i-1, d+(60*60*24) from t;
#1 #2
------------------------------------------------------------------------------
2 01/02/2017 00:00:00
4 02/02/2017 00:00:00
Selected records: 2
赋值运算
赋值操作发生在插入和更新操作期间。必要时,SmartESQL 会隐式地将要赋给列的值的类型进行转换或强制转换。有关更多详细信息,请参阅“数据类型转换”页面。也可以使用 cast() 操作符显式地强制转换数据类型。 cast() 操作符还可用于在 select 语句的结果集中强制转换列或表达式的值。
语法
select cast( expression as data_type )
二元运算
二元运算符用于 where 子句谓词中,对两个操作数执行指定的操作。结果为布尔值 true 或 false。
语法
select * from ...
where val1 operator val2
二元运算符如下:
运算符 | 说明 |
---|---|
= | 等于 |
<> | 不等 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
示例
create table t(i integer, d date);
insert into t values([3,5],['2017-01-01','2017-02-01']);
select * from t where i = 1 or i = 3;
i d
------------------------------------------------------------------------------
3 01/01/2017 00:00:00
Selected records: 1
select * from t where d < '2017-01-30';
i d
------------------------------------------------------------------------------
3 01/01/2017 00:00:00
select * from t2 where i <> 3;
i d
------------------------------------------------------------------------------
5 02/01/2017 00:00:00
Selected records: 1
比较运算
比较运算符是二元运算符,返回布尔结果。
语法
select * from ...
where expression1 operator expression2
比较运算符如下:
运算符 | 说明 |
---|---|
= | 等于 |
<> | 不等 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
示例
select 17 / 5 + 3;
#1
------------------------------------------------------------------------------
6
Selected records: 1
create table t(i integer, d date);
insert into t values([3,5],['2017-01-01','2017-02-01']);
select * from t where d > '01/01/2017';
i d
------------------------------------------------------------------------------
5 02/01/2017 00:00:00
Selected records: 1
select * from t where d < now;
i d
------------------------------------------------------------------------------
3 01/01/2017 00:00:00
5 02/01/2017 00:00:00
Selected records: 2
逻辑运算
逻辑运算符用于对一个或多个操作数进行操作,并返回一个布尔结果。
语法
select * from ...
where expression1 and expression2
select * from ...
where expression1 or expression2
select * from ...
where not expression1
逻辑运算符如下:
运算符 | 说明 |
---|---|
and | 如果两个表达式都为真,则为真。 |
or | 如果两个表达式中有一个或两个都为真,则结果为真。 |
not | 如果表达式为假则为真。 |
这些逻辑运算符也可用于执行按位运算。有关更多详细信息,请参阅按位运算页面。
示例
select 1 < 2 and 2 > 3;
#1
------------------------------------------------------------------------------
false
Selected records: 1
select 1 < 2 or 2 > 3;
#1
------------------------------------------------------------------------------
true
Selected records: 1
create table t(i integer, d date);
insert into t values([3,5],['2017-01-01','2017-02-01']);
select * from t where not i = 2;
i d
------------------------------------------------------------------------------
3 01/01/2017 00:00:00
5 02/01/2017 00:00:00
Selected records: 2