MySQL的运算符

数据库中的表结构确立后,表中的数据代表的意义就已经确定。而通过MySQL运算符进行运算,就可以获取到表结构以外的另一种数据。例如,学生表中存在一个birth字段,这个字段表示学生的出生年份。而运用MySQL的算术运算符用当前的年份减学生出生的年份,那么得到的就是这个学生的实际年龄数据。这就是MySQL的运算符,所以熟悉并掌握运算符的应用,对于操作MySQL数据库中的数据是非常有用的。下面就来熟悉一下MySQL支持的4种运算符都具备哪些功能。

算术运算符:执行算术运算,例如:加、减、乘、除等。

比较运算符:包括大于、小于、等于或者不等于,等等。主要用于数值的比较、字符串的匹配等方面。例如:LIKE、IN、BETWEEN AND和IS NULL等都是比较运算符,还包括正则表达式的REGEXP也是比较运算符。

逻辑运算符:包括与、或、非和异或等逻辑运算符。其返回值为布尔型,真值(1或true)和假值(0或false)。

位运算符:包括按位与、按位或、按位取反、按位异或、按位左移和按位右移等位运算符。位运算必须先将数据转换为二进制,然后在二进制格式下进行操作,运算完成后,将二进制的值转换为原来的类型,返回给用户。

算术运算符

算术运算符是MySQL中最常用的一类运算符。MySQL支持的算术运算符包括:加、减、乘、除、求余。

加(+)、减(-)和乘(*)可以同时计算多个操作数。除号(/)和求余运算符(%)也可以同时计算多个操作数,但是这两个符号计算多个操作数不太好。DIV和MOD这两个运算符只有两个参数。进行除法和求余的运算时,如果x2参数是0或者null,计算结果将是空值(NULL)。

比较运算符

比较运算符是查询数据时最常用的一类运算符。SELECT语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。

下面对几种较常用的比较运算符进行详解。

1.运算符“=”,“=”用来判断数字、字符串和表达式等是否相等。如果相等,返回1,否则返回0。

说明:在运用“=”运算符判断两个字符是否相同时,数据库系统都是根据字符的ASCII码进行判断的。如果ASCII码相等,则表示这两个字符相同。如果ASCII码不相等,则表示这两个字符不相同。注意,空值(NULL)不能使用“=”来判断。

2.运算符“<>”和“!=”,“<>”和“!=”用来判断数字、字符串、表达式等是否不相等。如果不相等,则返回1;否则,返回0。这两个符号也不能用来判断空值(NULL)。

3.运算符“>”,“>”用来判断左边的操作数是否大于右边的操作数。如果大于,返回1;否则,返回0。同样,空值(NULL)不能使用“>”来判断。

4.运算符“IS NULL”,“IS NULL”用来判断操作数是否为空值(NULL)。操作数为NULL时,结果返回1;否则,返回0。IS NOT NULL刚好与IS NULL相反。

说明:“=”、“<>”、“!=”、“>”、“>=”、“<”、“<=”等运算符都不能用来判断空值(NULL)。一旦使用,结果将返回NULL。如果要判断一个值是否为空值,可以使用IS NULL和IS NOT NULL来判断。注意:NULL和‘NULL‘是不同的,前者表示为空值,后者表示一个由4个字母组成的字符串。

5.运算符“BETWEEN AND”,“BETWEEN AND”用于判断数据是否在某个取值范围内。

其表达式如下:

x1 BETWEEN m AND n

如果x1大于等于m,且小于等于n,结果将返回1,否则将返回0。

6.运算符“IN”,“IN”用于判断数据是否存在于某个集合中。

其表达式如下:

x1 IN(值1,值2,……,值n)

如果x1等于值1到值n中的任何一个值,结果将返回1。如果不是,结果将返回0。

7.运算符“LIKE”,“LIKE”用来匹配字符串。

其表达式如下:

x1 LIKE s1

如果x1与字符串s1匹配,结果将返回1。否则返回0。

8.运算符“REGEXP” ,REGEXP”同样用于匹配字符串,但其使用的是正则表达式进行匹配。

其表达式格式如下:

x1 REGEXP‘匹配方式‘

如果x1满足匹配方式,结果将返回1;否则将返回0。

说明:使用REGEXP运算符匹配字符串,其使用方法非常简单。REGEXP运算符经常与“^”、“$”和“.”一起使用。“^”用来匹配字符串的开始部分;“$”用来匹配字符串的结尾部分;“.”用来代表字符串中的一个字符。

逻辑运算符

逻辑运算符用来判断表达式的真假。如果表达式是真,结果返回1。如果表达式是假,结果返回0。逻辑运算符又称为布尔运算符。MySQL中支持4种逻辑运算符,分别是与、或、非和异或。

1.“与”运算

“&&”或者“AND”是“与”运算的两种表达方式。如果所有数据不为0且不为空值(NULL),则结果返回1;如果存在任何一个数据为0,则结果返回0;如果存在一个数据为NULL且没有数据为0,则结果返回NULL。“与”运算符支持多个数据同时进行运算。

2.“或”运算

“||”或者“OR”表示“或”运算。所有数据中存在任何一个数据为非0的数字时,结果返回1;如果数据中不包含非0的数字,但包含NULL时,结果返回NULL;如果操作数中只有0时,结果返回0。“或”运算符“||”可以同时操作多个数据。

3.“非”运算

“!”或者NOT表示“非”运算。通过“非”运算,将返回与操作数据相反的结果。如果操作数据是非0的数字,结果返回0;如果操作数据是0,结果返回1;如果操作数据是NULL,结果返回NULL。

4.“异或”运算

XOR表示“异或”运算。当其中一个表达式是真而另外一个表达式是假时,该表达式返回的结果才是真;当两个表达式的计算结果都是真或者都是假时,则返回的结果为假。

位运算符

位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。MySQL中支持6种位运算符,分别是:按位与、按位或、按位取反、按位异或、按位左移和按位右移。

运算符的优先级

时间: 2024-10-17 17:40:33

MySQL的运算符的相关文章

MYSQL数值运算符和函数用法

mysql也有数值运算,那么列出常见的函数 ceil() div() floor() mod() power() round() truncate()等等,具体说说MYSQL数值运算符和函数用法. 1,ceil select ceil() 进一取整 2,div select div() 整除除法 3,floor 舍一取整 4,mod 取余数 5,power 幂运算 6,round 四舍五入 7,truncate 数字截取 以上就是常见的数字运算 文章来自 www.huthon.cn 原文地址:h

MYSQL常见运算符和函数

MYSQL常见运算符和函数[重要] 字符函数 (1)CONCAT():字符连接 SELECT CONCAT('IMOOC','-','MySQL');//IMOOC-MySQL SELECT CONCAT (first_name,last_name) AS fullname FROM test; (2)CONCAT_WS():使用指定的分隔符进行字符连接,(第一个位置指定分隔符,后面的为分割的内容) SELECT CONCAT_WS('%','abc','def'); //第一个是指定的分隔符:

MySQL 常用运算符

1.算数运算符 加 mysql> select 1+2; 减 mysql> select 2-1; 乘 mysql> select 2*3; 除 mysql> select 5/3; 商 mysql> SELECT 5 DIV 2; 模 mysql> select 5%2,mod(5,2); 2.比较运算符 等于 mysql> select 1=0,1=1,null=null; 不等于 mysql> select 1<>0,1<>1,

【转】MYSQL入门学习之六:MYSQL的运算符

转载地址:http://www.2cto.com/database/201212/175862.html 一.算术运算符 1.加  www.2cto.com mysql> select 1+2; +-----+ | 1+2 | +-----+ |   3 | +-----+ 2.减 mysql> select 1-2; +-----+ | 1-2 | +-----+ |  -1 | +-----+ 3.乘 mysql> select 2*3; +-----+ | 2*3 | +-----

MYSQL 数学运算符问题

背景: 在mysql中   ’stringA' + 'stringB' 这种类型的操作,在mysql内部会自动转化为两个double 数进行运算. -------------------------------------------------------------------------------------------------------------------------------- 例子: create table T5(X varchar(32),Y varchar(32)

mysql数值运算符和函数

mysql> SELECT CEIL(3.01);  # 进1取整+------------+| CEIL(3.01) |+------------+| 4 |+------------+1 row in set (0.00 sec) mysql> SELECT FLOOR(3.99);  # 舍1取整+-------------+| FLOOR(3.99) |+-------------+| 3 |+-------------+1 row in set (0.00 sec) mysql>

MySQL比较运算符的子查询

使用比较运算符的子查询 =.>.<.>=.<=.<>.!=.<=> 语法结构 operand comparison_operator subquery 需要使用ANY.SOME.ALL查询子句. operand comparison_operator  ANY| SOME | ALL  (subquery);

MySQL 算术运算符

(1) + :加法运算(2) - :减法运算(3) * :乘法运算(4) / :除法运算,返回商(5) % :求余运算,返回余数 mysql> CREATE TABLE tmp14 ( num INT ) ; mysql> INSERT INTO tmp14 VALUE(64); mysql> SELECT num, num+10, num-3, num*3, num/3, num%3 FROM tmp14;+------+--------+-------+-------+-------

mysql常用运算符和常用函数

1.常用算术运算符 1.1运算符,功能,备注1.2注意事项??(1)整数(bigint)与整数运算(+,-,)结果为bigint:??(2)浮点数与浮点数运算(/),其结果小数位数为参与运算的小数位数之乘积:??(3)被0除或其它非法运算值其结果为NULL. 2.常用比较运算符 2.1BETWEEN <值1>AND<值2>??检查一个值是否在值1和值2之间(包含值1和值2),SELECT 2 BETWEEN 1 AND 2 FROM DUAL2.2COALESCE()??返回第一个