视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySql小点心―2、常用的比较函数和比较操作符_MySQL
2020-11-09 18:18:50 责编:小采
文档

bitsCN.com
1、比较操作符:= 、 >、 <、 >=、 <=、 <>、 != 、 <=> 这里面就是知道下 <> 和 != 意义是一样的都是不等于的意思,看个人的喜好 <=> 是用于当比较的两边的值存在是空(NULL)的情况,这种情况有的时候会遇到,mysql提供这种方式的比较符,类似于"=",不同的是当两边要比较的数都为NULL的话它返回true(表示两边相等),如果其中有一边是NULL的话它返回为false(表示两边不相等)。如果是使用"="比较操作符,当两边任何一边有NULL的时候返回都是NULL。 2、比较函数: BETWEEN...AND :检测某个数是不是在某个范围内。 expr BETWEEN min AND max。对应的还有个NOT BETWEEN...AND,表示不再某个范围 IN() :检测某个数是不是在某些数里面。 expr IN (value,...)。对应的是NOT IN(),表示不在列出的数里面 INTERVAL(N,N1,N2,N3,...):返回N1、N2、.....中第一个比N大的索引,N1、N2...需要按大小排序号比如INTERVA(10,1,10,100,1000)这个函数返回2,100的索引为2 GREATEST():返回一组数的最大值 。对应的是LEAST():返回一组数的最小值。 IS :同布尔值判断,IS boolean_value ,这里需要注意的是boolean_value有三种 TRUE、 FALSE、 UNKNOWN,UNKNOWN对应于值为空的情况,比如NULL IS UNKNOWN则返回TRUE。同IS相反的是IS NOT,用法类似。 IS NULL:判断一个值是不是为空。在使用ODBC编程是这个IS NULL除了判断是否为空以为还有两个用途: 1、如果 sql_auto_is_null 这个Mysql系统变量设置为1(默认为1),当插入一个AUTO_INCREMENT自动生成的值(自增长的值,系统自动会生成)之后,可以通过下面一条语句来得到之前插入的记录: [sql] SELECT * FROM tbl_name WHERE auto_col IS NULL 这里tbl_name是表名称,auto_col对应于自增长的列名。得到的记录中那个自增长列所对应的值同我们调用LAST_INSERT_ID()得到的值是相同的。当然如果插入失败则上面的SELECT没有记录返回,当然如果sql_auto_is_null被设置为0 false则也不行。 2、对应DATE或者DATETIME的数据格式对应的字段,并且字段设置为非空NOT NULL,可以通过IS NULL来查找“0000-00-00”这个特殊的日期,下面是代码: [sql] SELECT * FROM tbl_name WHERE date_column IS NULL 这个主要考虑到ODBC里面不支持“0000-00-00”的一个日期值。同IS NULL对应的是IS NOT NULL,使用类似。 STRCMP:比较两个字符,返回为-1、0、1这三种值。 LIKE:简单的模式匹配,这个是常被用到的功能。通常我们知道"%"代表任意多个字符,另外"_"代表一个字符。先看看LIKE的格式: [sql] expr LIKE pat [ESCAPE 'escape_char'] 这里后面的ESCAPE是指定转义符号。默认的ESCAPE(转义)符号是"/",如果需要使用“%”和“_”,默认情况下可以用"/%"和"/_"来表示;如果需要查找"/n",则需要搜索"//n",如果需要查找"/",则需要搜索"////",因为这里有两次的解析,一次是parser(文本黏贴器)生成的(就是如果expr里面有‘/’符号则黏贴器会把它转变为'//'),一次是匹配的时候的(匹配的时候‘////’就变为'//'了)。pat可以是字符串、字符串表达式,或者列名称。 LIKE也可以用在数字的表达式中,比如 10 LIKE '1%' 这个也是返回true 另外要注意的是如果expr 或者 pat 中有一个是NULL那么 LIKE将会返回 NULL NOT LIKE 同 LIKE 类似 bitsCN.com

下载本文
显示全文
专题