运算符
算数运算符
MySQL支持大多数通用的、允许我们执行计算的的算数运算符。
“+(加法)、-(减法)、*(乘法)、/(除法,返回商)、%(除法,返回余数)”,如下例:
select 1+2;//加法运算,结果为3 select 2-1;//减法运算,结果为1 select 3*2;//乘法运算,结果为6 select 6/2;//除法运算,结果为3 select 25%7;//除法运算,结果为4 select 5/0;//除法运算,结果为null,MySQL除法的除数为0是不允许的
请注意,所有涉及整数的数学运算都是用64位的精度进行计算。
用字符串表示的数字在任何可能便于计算的地方都被自动的转换为字符串。遵循两个转换原则:
1:如果第一位是数字的字符串被用于算数运算中,那么它被转换为这个数字的值
2:如果一个包含字符和数字混合的字符串不能被正确的转换为数字,将被转换成0
select ‘100’+’004’;//结果为104 select ‘90AA’+’0’;//结果为90 select ‘10x’*’qwe’;//结果0
比较运算符
比较运算符,允许我们对表达式的左边和右边进行比较,一个比较运算的结果总是1(真),0(假)或为null(不确定)。
select 6=6,3.4=4.5,’a’=’b’;//判断两边是否相等 select 77,78,’a’’b’;//判断两边是否不相等 select 100>100,10=100,10<p>默认情况下,比较是不区分大小写的。我们可以用binary关键字来执行区分大小写的运算 <br>select binary ‘ross’ in (‘Chandler’,’Joey’,’Ross’); <br><img src="https://img.php.cn/upload/article/000/000/194/807815f9b411163186d1c66de4e35831-0.png" alt="这里写图片描述" title=""><br></p><h5>逻辑运算符</h5><p>逻辑运算符可以测试1个或者多个表达式(或表达式集合)的逻辑有效性。含有这些运算符的运算结果总是1(真),0(假)或null(不能确定)</p><p>逻辑运算符中最简单的运算符是not运算符,它对跟在它后面的逻辑测试判断取反,把真变为假,把假变为真 <br>select not 1,not 0,not (2=2),not (100>20);//结果为0,1,0,1 <br><img src="https://img.php.cn/upload/article/000/000/194/807815f9b411163186d1c66de4e35831-1.png" alt="这里写图片描述" title=""><br>and 运算符可以测试两个或更多的值(或表达式求值)的有效性,如果它的所有成分为真并且不是null,它返回真值,否则返回假值 <br>select (2=2) and (900<img src="https://img.php.cn/upload/article/000/000/194/53402f25eff65d1329ec788fb7cac55c-2.png" alt="这里写图片描述" title=""><br>or 运算符,如果包含的值或者表达式值为真并且不是null,它返回真值,否则返回假值。 <br>select (2=2) or (900<img src="https://img.php.cn/upload/article/000/000/194/53402f25eff65d1329ec788fb7cac55c-3.png" alt="这里写图片描述" title=""><br>MySQL4.x和更高版本中还包括了一个附加的xor运算符,如果它的参数中的一个(不是两个)为真,它返回真值。 <br>select (1=1) xor (2=4),(1<img src="https://img.php.cn/upload/article/000/000/194/53402f25eff65d1329ec788fb7cac55c-4.png" alt="这里写图片描述" title=""></p><h5>位运算符</h5><p>位运算符 <br>MySQL包含了6个专门用于位操作的运算符 <br>“|”运算符用于执行一个位or操作,而&用于执行一个位and操作。 <br>Case: <br>select 16|32,9|4;//结果为48,13 <br>select 30 & 10,8 & 16;//结果10,0 <br><img src="https://img.php.cn/upload/article/000/000/194/53402f25eff65d1329ec788fb7cac55c-5.png" alt="这里写图片描述" title=""><br>还可以分别使用>运算符向左和向右移动位。 <br>select 1>1;//结果为128,32 <br><img src="https://img.php.cn/upload/article/000/000/194/ba193a1d42246482a14ae98bfbde0ea9-6.png" alt="这里写图片描述" title=""><br>^运算符执行位xor操作 <br>select 1^0,0^1,17^9,143^66;//结果为1,1,24,205 <br><img src="https://img.php.cn/upload/article/000/000/194/ba193a1d42246482a14ae98bfbde0ea9-7.png" alt="这里写图片描述" title=""><br>~运算符执行位取反操作,并返回64位整型结果 <br>select ~18446744073709551614,~1; <br>//结果为1,18446744073709551614 <br></p><p><img src="https://img.php.cn/upload/article/000/000/194/ba193a1d42246482a14ae98bfbde0ea9-8.png" alt="这里写图片描述" title=""></p><div></div>
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END