Mysql中的运算符 原

注:此笔记有why的地方是我没有完全理解的地方! 

算术运算符 + - * / DIV % MOD     SELECT 0.1 + 0.123, 0.1 - 0.123, 0.1 * 0.123;

    SELECT 13/2, 13 DIV 2;

    SELECT 10 % 3, 10 MOD 3, MOD(10,3);

    SELECT 1/0, 100%0; 除法运算和模运算,如果除数为0,将是非法除数,返回结果为null

比较运算符 = <>  != <=> < <= > >= between in is null is not null like regexp  rlike =    相等返回1,否则返回0;null不能用=比较 SELECT 1=0,1=1,NULL=NULL;

SELECT 'a'=2;  why?

<>    不等返回1,否则返回0;null不能用<>比较 SELECT 1<>0,1<>1,NULL<>NULL;

SELECT 'a'<>2;  why?

<=>  相等返回1,否则返回0;null也可以正确比较 SELECT 1<=>0,1<=>1,NULL<=>NULL,NULL<=>1;

SELECT 'a'<=>2;  why?

<     左侧小于右侧,返回1,否则返回0 SELECT 1<0, 1<1, 1<2, NULL<NULL,NULL<1;

SELECT 'b'<'c', 'b'<'b', 'b'<'a', 'b'<'z', 'a'<NULL;

SELECT 'a'<2; why?

SELECT '2'<2; why?

SELECT 'abc'<'ac'; why?

SELECT 'abc'<'a2'; why?

a between min and max  ;  a大于等于min并且小于等于max,返回1,否则返回0; SELECT 1 BETWEEN -1 AND 5, 5 BETWEEN 2 AND 4, 6 BETWEEN 6 AND 9;

in     a in (value1,value2...) a的值存在于列表中时,返回的值为1,否则返回0 SELECT 1 IN(1,2,3), 0 IN(1,2,3), 'b' IN(1,2,3,'b');

SELECT 0 IN(1,2,3,'b');

is null     若为null,返回值为1,否则返回0; SELECT 0 IS NULL, NULL IS NULL;

is not null    返回值为1,否则为0

like      a like "%1234%" 当a中含有字符串‘1234’时,返回1,否则0 SELECT 123456 LIKE '123%', 123456 LIKE '%123%', 123456 LIKE '%321%';

regexp     str regexp str_pat 当str字符串含有str_pat相匹配的字符串时,返回1,否则0; SELECT 123456 REGEXP 12, 'abcdefghikasdf' REGEXP 'abcd';

逻辑运算符 not   ! 非 and  && 与 or  || 或 xor 异或 SELECT NOT 1, NOT 0, ! 12122 ,! NULL;    not null的返回值为null

SELECT NOT 'sdfs';   why?

SELECT NOT '2';

SELECT 1 AND 2, 1 AND 0, '1' AND 1, '2' AND 1, 'e' AND 1, '0' AND 1; why?

SELECT 1 AND NULL;    操作数的任何一个为null,返回值为null

xor 逻辑异或 ,当任意一个操作数为null,返回值为null; SELECT 1 XOR 1, 1 XOR 0, 0 XOR 0, NULL XOR 1;

位运算符 & | ^ ~ >> <<

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

PL/SQL 联合数组与嵌套表

      通常情况下,在PL/SQL中,处理单行单列的数据可以使用标量变量,而处理单行多列的数据则使用PL/SQL记录是不错的选择。单列多行数据 则由联合数组...

1063
来自专栏数据和云

深入剖析:认识Oracle 中的 NULL 值

杨廷琨,网名 yangtingkun 云和恩墨技术总监,Oracle ACE Director,ACOUG 核心专家 经常看到很多人提出和NULL有关的问题。N...

2945
来自专栏杨建荣的学习笔记

oracle中的数组(第一篇)(r4笔记第9天)

数组在各种编程语言中都是很重要的数据结构实现,在oracle中也有自己的一席之地。自己简单做了几个实验,发现很多东西还是眼高手低,真实去做的时候,里面还是有不少...

3086
来自专栏linjinhe的专栏

MySQL数据类型

2234
来自专栏阿杜的世界

MySQL文档阅读(一)-数字类型

MySQL支持很多系列的SQL数据类型:数字类型(numeric types)、日期和时间类型(date and time types)、字符串类型(字符和字节...

471
来自专栏闻道于事

Hibernate框架HQL语句

这篇随笔将会记录hql的常用的查询语句,为日后查看提供便利。 在这里通过定义了三个类,Special、Classroom、Student来做测试,Special...

3015
来自专栏一个会写诗的程序员的博客

MySQL中函数CONCAT 、CONCAT_WS、GROUP_CONCATCONCAT_WSCONCATGROUP_CONCAT

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。

631
来自专栏王磊的博客

MongoDB Query 的几个方法

Query.All("name", "a", "b");//通过多个元素来匹配数组 Query.And(Query.EQ("name", "a"), Query...

2988
来自专栏栗霖积跬步之旅

第十章:创建计算字段

创建在数据库表中的数据一般不是应用程序所需要的格式。  我们需要从数据库中检索出转换、计算或格式化过的数据。  计算字段并不实际存在于数据库表中,计算字段是运行...

1725
来自专栏吾爱乐享

软件测试之学习mysql的查询功能select及高级查询(重中之重)

1212

扫码关注云+社区

领取腾讯云代金券