MySQL笔记之运算符使用详解
发布时间:2024-01-21 00:21:35
Mysql可以通过运算符来对表中数据进行运算,比如通过出生日期求年龄等
运算符包括四类,分别是:算数运算符、比较运算符、逻辑运算符和位运算符
算数运算符
加、减、乘运算
mysql> select a,a+5,a*2 from t1;
+------+------+------+
| a | a+5 | a*2 |
+------+------+------+
| 24 | 29 | 48 |
+------+------+------+
row in set (0.00 sec)
这里的原值为24,后面也可以使用混合运算,只需要注意优先级即可
除法和取模运算
mysql> select a,a/3,a div 3,a%5,mod(a,5) from t1;
+------+--------+---------+------+----------+
| a | a/3 | a div 3 | a%5 | mod(a,5) |
+------+--------+---------+------+----------+
| 24 | 8.0000 | 8 | 4 | 4 |
+------+--------+---------+------+----------+
row in set (0.00 sec)
此处 / 和 div 代表整除,% 和 mod 代表取模
要注意的是,如果被除数为0,那么计算结果是NULL
比较运算符
数值比较
mysql> select a,a=24,a<12,a>40,a>=24,a<=24,a!=24,a<>24,a<=>24 from t1;
+------+------+------+------+-------+-------+-------+-------+--------+
| a | a=24 | a<12 | a>40 | a>=24 | a<=24 | a!=24 | a<>24 | a<=>24 |
+------+------+------+------+-------+-------+-------+-------+--------+
| 24 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
+------+------+------+------+-------+-------+-------+-------+--------+
row in set (0.00 sec)
这里的1代表真,0代表假,需要说明的是<>和<=>
<>代表不等于,等同于!=
<=>代表等于,等同于=
此外,等于和不等于不仅可以比较数值,还能比较字符串
字符串比较
mysql> select a,a='24','ha'<>'ha','xa'='xa','b'!='b' from t1;
+------+--------+------------+-----------+----------+
| a | a='24' | 'ha'<>'ha' | 'xa'='xa' | 'b'!='b' |
+------+--------+------------+-----------+----------+
| 24 | 1 | 0 | 1 | 0 |
+------+--------+------------+-----------+----------+
row in set (0.00 sec)
is null 和is not null
mysql> select a,a is null, a is not null from t1;
+------+-----------+---------------+
| a | a is null | a is not null |
+------+-----------+---------------+
| 24 | 0 | 1 |
+------+-----------+---------------+
row in set (0.00 sec)
这里可以判断是否为空,NULL也可以跟NULL比较
between and和not between and
mysql> select a,a between 15 and 30,a not between 15 and 30 from t1;
+------+---------------------+-------------------------+
| a | a between 15 and 30 | a not between 15 and 30 |
+------+---------------------+-------------------------+
| 24 | 1 | 0 |
+------+---------------------+-------------------------+
row in set (0.00 sec)
between and 和not between and可以判断数值是否在某一区间内
in
mysql> select a,a in(1,2,23),a in(24,12,22) from t1;
+------+--------------+----------------+
| a | a in(1,2,23) | a in(24,12,22) |
+------+--------------+----------------+
| 24 | 0 | 1 |
+------+--------------+----------------+
row in set (0.00 sec)
判断操作数是否在某一集合内
like
mysql> select s,s like 'beijing',s like 'b%g',s like 'bei____',s like '%jing' from t2;
+---------+------------------+--------------+------------------+----------------+
| s | s like 'beijing' | s like 'b%g' | s like 'bei____' | s like '%jing' |
+---------+------------------+--------------+------------------+----------------+
| beijing | 1 | 1 | 1 | 1 |
+---------+------------------+--------------+------------------+----------------+
row in set (0.00 sec)
ike可以用来匹配字符串,_代表单个字符,%代表多个字符
逻辑运算符
与运算
mysql> select 2&&2,2&&null,2 and 3,2 and 2;
+------+---------+---------+---------+
| 2&&2 | 2&&null | 2 and 3 | 2 and 2 |
+------+---------+---------+---------+
| 1 | NULL | 1 | 1 |
+------+---------+---------+---------+
row in set (0.00 sec)
这里&&和and意思一样
或运算
mysql> select 2||2,2||null,2 or 3,2 or 0;
+------+---------+--------+--------+
| 2||2 | 2||null | 2 or 3 | 2 or 0 |
+------+---------+--------+--------+
| 1 | 1 | 1 | 1 |
+------+---------+--------+--------+
row in set (0.00 sec)
这里||和or的意思一样
非运算
mysql> select !1,!2,!null;
+----+----+-------+
| !1 | !2 | !null |
+----+----+-------+
| 0 | 0 | NULL |
+----+----+-------+
row in set (0.00 sec)
此外还有位运算,目前还没用到,等用到的时候再补上
猜你喜欢
- 简单的LSTM问题,能够预测一句话的下一个字词是什么固定长度的句子,一个句子有3个词。使用one-hot编码各种引用import keras
- 前言运用pandas 库对所得到的数据进行数据清洗,复习一下相关的知识。1 数据清洗1.1 处理缺失数据对于数值型数据,分为缺失值(NAN)
- alt的准确含义是,当照片不存在或者load错误时的提示。但同时img也同时支持alt和title,再有某些浏览器的错误解析,因此经常被误导
- PHP htmlentities() 函数实例把一些字符转换为 HTML 实体:<?php $str = "<&
- 方法一:def dict_to_numpy_method1(dict): dict_sorted=sorted(dict.iteritems
- 面临的问题在我设计一个分析系统中,我们公司的目标是能够处理来自数百万个端点的大量POST请求。web 网络处理程序将收到一个JSON文档,其
- 本教程将分步讲解如何使用JQuery和CSS打造一个炫酷动感菜单。jQuery的"write less, do more"
- split函数主要应用场景是Python对字符串的处理中(数据分析,数据处理),以及计算机二级考试的常考基础知识点。一、split函数的官方
- 本文实例讲述了php中对象引用和复制。分享给大家供大家参考,具体如下:引用$tv2 = $tv1;或者$tv2 = &$tv1;以上
- 一,概要需求: 实现一个GUI界面下的 6+1体育彩票选号器.(1) 要求界面可以加载系统时间及开奖时间(2)功能区完成人选及机选的功能 人
- 本文介绍了几种常用的python下载文件的方法,具体使用到了htttplib2,urllib等包,希望对大家有帮忙。1.简单文件下载使用ht
- 话不多说,直接开搞!练习项目一:即时标记补充utils.py:练习项目二:画幅好画练习项目三:万能的XML练习项目四:新闻聚合练习项目五:虚
- 一、实验目标1、使用 K-means 模型进行聚类,尝试使用不同的类别个数 K,并分析聚类结果。2、按照 8:2 的比例随机将数据划分为训练
- 本文实例讲述了python比较两个列表大小的方法。分享给大家供大家参考。具体如下:L1 = [1, ('a', 3)]L2
- torch.Tensor类型的数据loss和acc打印时如果写成以下写法print('batch_loss: '+str(l
- 使用python脚本实现查询火车票信息的效果图如下:实现的代码:# coding: utf-8"""命令行火车
- 整数对象在Python内部用PyIntObject结构体表示:typedef struct {PyObject_HEADlong ob_iv
- Python中str is not callable问题详解及解决办法问题提出: 在Python的代码,在运行过程中
- 凯撒密码的原理:计算并输出偏移量为3的凯撒密码的结果注意:密文是大写字母,在变换加密之前把明文字母都替换为大写字母def casar(mes
- 方法1:自定义异常# -*- coding:utf-8 -*-"""功能:python跳出循环"&q