数据库--运算符

1.算术运算符

-- 算数运算符:+ - * / div % mod
1.

SELECT 100, 100+ 0,100-0,100+50,100-50,100+50*30,100+35.5,100-35.5
FROM DUAL;#DUAL是虚拟表。

2.

SELECT 100 + '1'          #在java语言中结果是1001
                                     -- 在MySQL + 没有连接作用,就表示加法运算。
                                    -- 此时会将字符串转换为数值(隐式转换)。
FROM DUAL;

3.

SELECT 100 + 'a'        #此时将a看作0处理。
FROM DUAL;

4.

空值参与运算,结果也为空null。
SELECT 100 + NULL
FROM DUAL;

5.注意

6.乘除

注意:

默认除结果是double类型,默认是除不尽的。

                      

7.取模

注意:取模最后结果是否为正数,看被取模数是不是正数。

2.比较运算符

  1. =  <=> <> != < <=  > >=


SELECT 1=2 , 1!=2 , '1'=1 , 1='a' , 0='a', 'a'='b'      #隐式转换,把'1'这个字符串转化成了数值1.
                                                                                 -- 把'a'看作是0了。如果是'a'='b'就不会隐式换                                                                                     了。
                                                                                  -- 两边都是字符串,则按照ANSI规则进行比较
FROM DUAL;

2.如果有null参与情况

--只要有null参与,结果就为null。
SELECT 1 = NULL, NULL= NULL
FROM DUAL;

3.<=>:安全等于运算符

4. is null \ is not null \ isnull 

1.    IS NULL

2. IS NOT NULL

5.LEAST

格式:-- LEAST(value1,value2,...) \ GREATEST(value1,value2,...)
SELECT LEAST('g','b','t','m'),GREATEST('g','b','t','m')
FROM DUAL;

6.between   and

1.第一种写法:

-- BETWEEN 条件一 AND 条件二 (查询是包括两个条件一范围内数据,包含边界)
SELECT id,`name`
from a
WHERE id BETWEEN 1 and 2;
FROM a;

2.第二种写法

SELECT id,`name`
from a
WHERE id >=1 && id <= 2;
FROM a;

3.反例

7. IN (SET) \ NOT IN (SET)

1.方法一:

-- IN (SET) \ NOT IN (SET)
-- 查询id为1.3
SELECT id,`NAME`
FROM a
WHERE id = 1 OR id = 3 OR id <=> NULL;#=null是错误的,要用<=>

2.方法二:

SELECT id,`NAME`
FROM a
WHERE id IN(1,3,NULL);#NULL查询不出来,其他可以

3.方法三:

SELECT id,`NAME`
FROM a
WHERE id NOT IN(1,3);#NULL查询不出来,其他可以

8.like:模糊查询

1.%查询内容%

-- %代表不确定个数的字符
SELECT id,`NAME`
FROM a
WHERE `name` LIKE '%m%';#可以忽略大小写

2.查询内容%:只有一个%

-- 查询name中以字符T开头的信息
SELECT id,`NAME`
FROM a
WHERE `name` LIKE 'T%';

3.查询一个名字,包含两个

既查询name中包含T且包含E的

4.查询name中指定位置的字母的方法

-- 查询第二个字符是E的名字
-- _代表一个不确定字符
SELECT `name`
FROM a
WHERE `name` like '_e%';#'_e%'不能包含空格

--  查询第三个字符是m的名字
-- __代表两个不确定字符.
SELECT `name`
FROM a
WHERE `name` like '__m%';

5.转义字符,想指定查询两个位置。

6.自定义转义字符

9. regexp \ rlike:正则表达式

  • 38
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值