博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql数据类型支持比较运_MySQL整理5—数据类型和运算符
阅读量:6972 次
发布时间:2019-06-27

本文共 2195 字,大约阅读时间需要 7 分钟。

一、数据类型

在上面第一部分的内容中,介绍了以下数据类型:

整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT

浮点数类型:FLOAT、DOUBLE、DECIMAL

字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB

日期类型:Date、DateTime、TimeStamp、Time、Year

其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection

二、常见运算符介绍

1.算术运算符

4809c375797e5882c098c79fcc80685e.png

2.比较运算符

df45ef6f837757a718c572595590df0d.png

示例:

is null 和is not null

/*IS NULL和ISNULL检验一个值是否为NULL,如果为NULL,返回值为1。否则返回值为0

IS NOT NULL检验一个值是否为非NULL,如果非NULL,返回值为1;否则返回值为0 */

select NULL IS NULL,ISNULL(NULL),ISNULL(10),10 IS NOT NULL;

/*结果 1 1 0 1 */

between and

语法格式为:expr BETWEEN min AND max。假如expr大于或等于min且小于或等于max,则BETWEEN的返回值为1,否则返回值为0。

select 4 BETWEEN 4 AND 6,4 AND 6,12 BETWEEN 9 AND 10;

/*结果 1 1 0 */

least

语法格式为:LEAST(值1,值2,…值n),其中值n表示参数列表中有n个值。在有两个或多个参数的情况下,返回最小值。假如任意一个自变量为NULL,则LEAST()的返回值为NULL。

select least(2,0),least(20.0,3.0,100.5),least(10,NULL);

/*结果 0 3.0 null */

greatest(value1,value2,…)

语法格式为:greatest(值1,值2,…值n),其中n表示参数列表中有n个值。当有2个或多个参数时,返回值为最大值,假如任意一个自然变量为NULL,则GREATEST()的返回值为null

select greatest(2,0),greatest(20.0,3.0,100.5),greatest(10,NULL);

/*结果 2 100.5 null */

in、not in 运算符

in运算符用来判断操作数是否为in列表中的其中一个值,如果是返回值为1;否则返回值为0。

select 2 in(1,3,5,'thks'),'thks' in(1,3,5,'thks');

/*结果 0 1 */

like

like运算符用来匹配字符串,语法格式为:expr like 匹配条件,如果expr满足匹配条件,则返回值为1(ture);如果不匹配,则返回值为0(false)。若expr或匹配条件中任何一个为null,则结果为null

like运算符在进行匹配时,可以使用下面两种通配符:

(1) '%',匹配任何数目的字符,甚至包括0字符

(2) '_',只能匹配一个字符

select 'stud' LIKE 'stud','stud' LIKE 'stu_',

'stud' LIKE '%d','stud' LIKE 't___','s' LIKE NULL;

/*结果 1 1 1 0 null */

regexp

regexp运算符用来匹配字符串,语法格式为:expr regexp 匹配条件,如果expr满足匹配条件,返回1;如果不满足,则返回0;若expr或匹配条件任意一个为null,则结果为null

regexp运算符在进行匹配时,常用的有下面几种通配符:

(1) '^'匹配以该字符后面的字符开头的字符串。

(2) '$' 匹配以该字符后面的字符结尾的字符串。

(3) '.' 匹配任何一个单字符。

(4) '[...]' 匹配在方括号内的任何字符。例如:'[abc]'匹配'a','b'或'c'。为了命名字符串的范围,使用一个'-'。"[a-z]"匹配任何字母,而"[0-9]"匹配任何数字。

(5) '*' 匹配0个或多个在它前面的字符。

select 'ssky' regexp '^s','ssky' regexp 'y$','ssky'

regexp '.sky','ssky' regexp '[ab]';

3.逻辑运算符

在SQL中,所有逻辑运算符的求值所得结果均为TRUE、FALSE或NULL。

在MySQL中,它们体现为1(TRUE)、0(FALSE)和NULL。其大多数都与不同的数据库SQL通用,MySQL中的逻辑运算符如表所示:

f2d2900fa1e860c263e9d351f9750bdd.png

4.位运算符

位运算符是用来对二进制字节中的位进行测试、位移或者测试处理,MySQL中提供的位运算符有按位或(|)、按位与(&)、按位异或(^)、按位左移(<>)、按位取反(~),如下表所示:

2c586a467f65efed6a173f3ab7ae13d4.png

5.运算符的优先级

ba1b5a583d8b6eece904cc13ac28cfcf.png

转载地址:http://xhhsl.baihongyu.com/

你可能感兴趣的文章
重庆企业首创ZPLC技术物联网光环境系统
查看>>
《数值分析(原书第2版)》—— 0.1 多项式求值
查看>>
MEMS传感器市场扩容 国产化水平亟待提升
查看>>
ASP.NET Aries 入门开发教程1:框架下载与运行
查看>>
周鸿祎:网络攻击新时代开启 要提高安全意识
查看>>
关于Solaris的9个小技巧
查看>>
网络安全加速推进 高增长引基金布局
查看>>
Spring 数据库连接整理
查看>>
“南海云”及大数据服务中心项目启动
查看>>
Crypto++编译使用
查看>>
SQLite.swift —— 纯 Swift 封装的 SQLite 框架
查看>>
《深入理解Spark:核心思想与源码分析》——3.11节ContextCleaner的创建与启动
查看>>
“淘宝心选”上线!taobaoxinxuan.xin被阿里巴巴收购
查看>>
天猫黑科技秘密全公开!人脸识别、AR交互、3D物体云识别...
查看>>
《深入浅出iPhone/iPad开发(第2版)》——……因为每个人都想要一个!
查看>>
《Adobe After Effects CS4经典教程》——1.5 对合成图像作动画处理
查看>>
Centos7.x系统网卡启动报错问题排查
查看>>
ROCBOSS v2.1.0 正式发布,PHP 微社区
查看>>
《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》——1.3 微信公众平台的使用...
查看>>
PostGIS 坐标转换(SRID)的边界问题 - ST_Transform
查看>>