Mysql应用与MSSQL对比学习MYSQL的心得(五)--运算符
《Mysql应用与MSSQL对比学习MYSQL的心得(五)--运算符》要点: MYSQL教程平安等于运算符(<=>) MYSQL教程这个操作符和=操作符执行相同的比拟操作,不过<=>可以用来判断NULL值. MYSQL教程在两个操作数均为NULL时,其返回值为1而不为NULL; MYSQL教程而当一个操作数为NULL时,其返回值为0而不为NULL. MYSQL教程下面分别是 SELECT NULL <=>1?? SELECT 1<=>0? SELECT NULL <=>NULL 的执行结果 MYSQL教程在两个操作数均为NULL时,其返回值为1而不为NULL; MYSQL教程 MYSQL教程 MYSQL教程 LEAST运算符 MYSQL教程语法格式为:LEAST(值1,值2,...值n),其中值n表示参数列表中有n个值.在有两个或多个参数的情况下,返回最小值. MYSQL教程假如任意一个自变量为NULL,则LEAST()的返回值为NULL MYSQL教程使用LEAST运算符进行大小判断,SQL语句如下: 代码如下:SELECT LEAST(2,0),LEAST('a','b','c'),LEAST(10,NULL) MYSQL教程 MYSQL教程由结果可以看到,当参数中是整数或者浮点数时,LEAST将返回其中最小的值; MYSQL教程当参数为字符串时,返回字母中顺序最靠前的字符; MYSQL教程当比拟值列表中有NULL时,不能判断大小,返回值为NULL MYSQL教程GREATEST运算符 MYSQL教程语法格式为: GREATEST(值1,其中n表示参数列表中有n个值. MYSQL教程在有两个或多个参数的情况下,返回最大值. MYSQL教程假如任意一个自变量为NULL,则GREATEST()的返回值为NULL MYSQL教程使用GREATEST运算符进行大小判断,SQL语句如下: 代码如下:SELECT GREATEST(2,GREATEST('a',GREATEST(10,NULL) MYSQL教程 MYSQL教程由结果可以看到,GREATEST将返回其中最大的值; MYSQL教程当参数为字符串时,返回字母中顺序最靠后的字符; MYSQL教程当比拟值列表中有NULL时,返回值为NULL MYSQL教程REGEXP 运算符 MYSQL教程在SQLSERVER里是没有正则函数或者运算符的,MYSQL在这方面的确比拟完善 MYSQL教程用来匹配字符串,语法格式为:expr REGEXP? 匹配条件,如果expr满足匹配条件,返回1; MYSQL教程如果不满足,则返回0; MYSQL教程若expr或匹配条件任意一个为NULL,则结果为NULL MYSQL教程常用的几种通配符: MYSQL教程(1)'^'匹配以该字符后面的字符开头的字符串 MYSQL教程(2)'$'匹配以该字符后面的字符结尾的字符串 MYSQL教程(3)'.'匹配任何一个单字符 MYSQL教程(4)'[...]'匹配在方括号内的任何字符.例如,“[abc]" 匹配a、b或c. MYSQL教程字符的范围可以使用一个'-',“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字 MYSQL教程(5)'*' 匹配零个或多个在他前面的字符.例如,“x*”匹配任何数量的'*'字符,“[0-9]*”匹配任何数量的数字, MYSQL教程而“.*”匹配任何数量的任何字符. MYSQL教程使用REGEXP? 运算符进行字符串匹配运算,SQL语句如下: 代码如下:SELECT 'ssky' REGEXP '^s','ssky' REGEXP 'y$','ssky' REGEXP '.sky','ssky' REGEXP '[ab]'; MYSQL教程 MYSQL教程由结果可以看到,指定匹配字符串为ssky. MYSQL教程'^s'表示匹配任何以字母s开头的字符串,因此满足匹配条件,返回1; MYSQL教程'y$'表示匹配任何以字母y结尾的字符串,返回1; MYSQL教程'.sky'表示匹配任何以sky结尾,字符长度为4的字符串,返回1; MYSQL教程'^s'表示匹配任何以字母s开头的字符串,返回1; MYSQL教程'[ab]'表示匹配任何包括字母a或者b的字符串,指定字符串中没有字母a也没有字母b,因此不满足匹配条件,返回0; MYSQL教程TIPS:正则表达式是一个可以进行复杂查询的强大工具,相对于LIKE字符串匹配,他可以使用更多的通配符类型 MYSQL教程查询结果更加灵活. MYSQL教程逻辑运算符 MYSQL教程逻辑与运算符:AND或者&& MYSQL教程逻辑或运算符:OR或者|| MYSQL教程上面两个运算符就不说了,只是比SQLSERVER多了&&和||的写法 MYSQL教程异或运算符:XOR MYSQL教程当任意一个操作数为NULL时,返回值为NULL;对于非NULL的操作数,如果两个操作数都是非0值或者都是0值,则返回结果为0; MYSQL教程如果一个为0值,另一个为非0值,返回结果为1 MYSQL教程使用异或运算符XOR进行逻辑判断,SQL语句如下 代码如下:SELECT 1 XOR 1,0 XOR 0,1 XOR 0,1 XOR NULL,1 XOR 1 XOR 1 MYSQL教程 MYSQL教程由结果可以看到‘1 XOR 1'和‘0 XOR 0'中运算符两边的操作数都为非零值,或者都是零值,因此返回0; MYSQL教程'1 XOR 0'中两边的操作数,一个为0值,返回结果为1; MYSQL教程'1 XOR NULL'中有一个操作数为NULL,返回结果为NULL; MYSQL教程'1 XOR 1 XOR 1'中有多个操作数,运算符相同,因此运算符从左到右依次计算,'1 XOR 1'的结果为0,再与1进行异或运算,因此结果为1. MYSQL教程TIPS: a XOR b的计算等同于(a AND (NOT b))或者(NOT a AND ( b)) MYSQL教程位运算符 MYSQL教程由于比拟少用到,这里只做简单介绍,同样位运算符在SQLSERVER里是没有的 MYSQL教程位运算符是用来对二进制字节中的位进行测试、移位或者测试处理 MYSQL教程MYSQL中提供的位运算有 MYSQL教程按位或(|) MYSQL教程按位与(&) MYSQL教程按位异或(^) MYSQL教程按位左移(<<) MYSQL教程按位右移(>>) MYSQL教程按位取反(~):反转所有比特 MYSQL教程TIPS:可以使用BIN()=binary函数查看一个十进制数的二进制表示 MYSQL教程例如20这个数字 SELECT BIN(20) MYSQL教程二进制表示为:10100 MYSQL教程 MYSQL教程特别提示 MYSQL教程某一些MYSQL中的特殊字符需要用转义字符才能插入数据库,否则产生意料之外的结果. MYSQL教程下面的特殊字符需要在输入时加反斜线符号开头 MYSQL教程输入单引号需要:' MYSQL教程输入双引号需要:'' MYSQL教程输入反斜杠: MYSQL教程输入回车符:r MYSQL教程输入换行符:n MYSQL教程输入制表符:tab MYSQL教程输入退格符:b MYSQL教程在插入这些特殊字符到数据库之前一定要进行转义处理 MYSQL教程在SQLSERVER里,这些特殊字符不是在前面加反斜杠,而是加单引号' MYSQL教程例如插入一个单引号,加了反斜杠,插入成功 代码如下:INSERT INTO table_1(NAME) VALUES(''') MYSQL教程SELECT * FROM table_1 MYSQL教程 MYSQL教程总结 MYSQL教程这一节简单介绍了MYSQL里的一些运算符和特殊字符,并且比拟了与SQLSERVER的区别 编程之家PHP培训学院每天发布《Mysql应用与MSSQL对比学习MYSQL的心得(五)--运算符》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |