1.内置运算符
1.1关系运算符
运算符
类型
说明
A = B
所有原始类型
如果A与B相等,返回TRUE,否则返回FALSE
A == B
无
失败,因为无效的语法。 SQL使用”=”,不使用”==”。
A <> B
所有原始类型
如果A不等于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”,结果返回”NULL”。
A < B
所有原始类型
如果A小于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”,结果返回”NULL”。
A <= B
所有原始类型
如果A小于等于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”,结果返回”NULL”。
A > B
所有原始类型
如果A大于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”,结果返回”NULL”。
A >= B
所有原始类型
如果A大于等于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”,结果返回”NULL”。
A IS NULL
所有类型
如果A值为”NULL”,返回TRUE,否则返回FALSE
A IS NOT NULL
所有类型
如果A值不为”NULL”,返回TRUE,否则返回FALSE
A LIKE B
字符串
如果A或B值为”NULL”,结果返回”NULL”。字符串A与B通过sql进行匹配,如果相符返回TRUE,不符返回FALSE。B字符串中 的”_”代表任一字符,”%”则代表多个任意字符。例如: (‘foobar’ like ‘foo’)返回FALSE,( ‘foobar’ like ‘foo_ _ _’或者 ‘foobar’ like ‘foo%’)则返回TURE
A RLIKE B
字符串
如果A或B值为”NULL”,结果返回”NULL”。字符串A与B通过java进行匹配,如果相符返回TRUE,不符返回FALSE。例如:( ‘foobar’ rlike ‘foo’)返回FALSE,(’foobar’ rlike ‘^f.*r$’ )返回TRUE。
A REGEXP B
字符串
与RLIKE相同。
1.2算术运算符
运算符
类型
说明
A + B
所有数字类型
A和B相加。结果的与操作数值有共同类型。例如每一个整数是一个浮点数,浮点数包含整数。所以,一个浮点数和一个整数相加结果也是一个浮点数。
A – B
所有数字类型
A和B相减。结果的与操作数值有共同类型。
A * B
所有数字类型
A和B相乘,结果的与操作数值有共同类型。需要说明的是,如果乘法造成溢出,将选择更高的类型。
A / B
所有数字类型
A和B相除,结果是一个double(双精度)类型的结果。
A % B
所有数字类型
A除以B余数与操作数值有共同类型。
A & B
所有数字类型
运算符查看两个参数的二进制表示法的值,并执行按位”与”操作。两个表达式的一位均为1时,则结果的该位为 1。否则,结果的该位为 0。
A|B
所有数字类型
运算符查看两个参数的二进制表示法的值,并执行按位”或”操作。只要任一表达式的一位为 1,则结果的该位为 1。否则,结果的该位为 0。
A ^ B
所有数字类型
运算符查看两个参数的二进制表示法的值,并执行按位”异或”操作。当且仅当只有一个表达式的某位上为 1 时,结果的该位才为 1。否则结果的该位为 0。
~A
所有数字类型
对一个表达式执行按位”非”(取反)。
1.3逻辑运算符
运算符
类型
说明
A AND B
布尔值
A和B同时正确时,返回TRUE,否则FALSE。如果A或B值为NULL,返回NULL。
A && B
布尔值
与”A AND B”相同
A OR B
布尔值
A或B正确,或两者同时正确返返回TRUE,否则FALSE。如果A和B值同时为NULL,返回NULL。
A | B
布尔值
与”A OR B”相同
NOT A
布尔值
如果A为NULL或错误的时候返回TURE,否则返回