sql中的运算符

算数运算符:+、-、*、/、%

  1. 在SQL中,+只做运算,不做连接操作,比如:5 + '1' = 6
  2. 在SQL中,5 + 'a' = 5,'a'隐式转换成了0
  3. 在SQL中,两个整数相除,结果为浮点型数
  4. 在SQL中,10 / 0 = NULL10 % 0 = NULL

比较运算符:=、<=>、<>、!=、>、<、>=、<=

  1. =:等于
    ① 结果为真返回1,为假返回0,其他情况返回NULL
    ② 与数值做运算时,字符串存在隐式转换,如果转换数值不成功,则看做0
    ③ 两边都是字符串,则按ASCII比较
    ④ 只要有NULL参与判断,结果一定是NULL

  2. <=>:安全等于
    =的区别在于,可以对NULL进行判断

    sql 复制代码
    // 结果是0、1
    SELECT 1 <=> NULL, NULL <=> NULL FROM DUAL;
  3. <>!=:不等于

关键字运算符

  1. IS NULL:判断是否为NULL
  2. ISNULL(),判断是否为NULL
  3. IS NOT NULL:判断是否不为NULL
  4. LEAST():两者中的最小
  5. GREATEST():两者中的最大
  6. BETWEEN ... AND:两者中间,闭区间
  7. IN(set):是否在set中
  8. NOT IN(set):是否不在set中
  9. LIKE:模糊查询
    %代表0个或多个不确定的字符
    _代表一个不确定的字符
  10. REGEXP:正则表达式
  11. RLIKE:正则表达式

逻辑运算符

  1. AND&&:与
  2. OR||:或
  3. NOT!:非
  4. XOR:异或

位运算符

  1. &:按位与
  2. |:按位或
  3. ^:按位异或
  4. ~:按位取反
  5. >>:按位右移
  6. <<:按位左移
相关推荐
小白考证进阶中几秒前
0基础可以考MySQL OCP么?备考时间需要多久?
数据库·mysql·开闭原则
观无6 分钟前
Redis远程链接应用案例
数据库·redis·缓存·c#
星星点点洲13 分钟前
【缓存与数据库结合方案】伪从技术 vs 直接同步/MQ方案的深度对比
数据库·缓存
努力奋斗的小杨17 分钟前
学习MySQL的第十二天
数据库·笔记·学习·mysql·navicat
苹果酱05671 小时前
【Azure Redis 缓存】在Azure Redis中,如何限制只允许Azure App Service访问?
java·vue.js·spring boot·mysql·课程设计
枫叶20001 小时前
OceanBase数据库-学习笔记1-概论
数据库·笔记·学习·oceanbase
仲夏plus1 小时前
MySQL:慢SQL索引优化-使用explain/analyze进行耗时分析的方法
数据库
tcoding1 小时前
《MySQL 技术内幕-innoDB 存储引擎》笔记
数据库·笔记·mysql
Edward.W2 小时前
如何有效防止 SQL 注入攻击?
数据库·sql
好想有猫猫2 小时前
【Redis】服务端高并发分布式结构演进之路
数据库·c++·redis·分布式·缓存