Maison  >  Article  >  base de données  >  Compréhension approfondie de la dérive avancée MySQL (2)

Compréhension approfondie de la dérive avancée MySQL (2)

黄舟
黄舟original
2017-03-08 13:52:121422parcourir

MySQL prend en charge les opérateurs arithmétiques les plus courants qui nous permettent d'effectuer des calculs.

" (addition), -(soustraction), *(multiplication), /(division, retour quotient), %(division, retour reste)", comme dans l'exemple suivant :

Notez que toutes les opérations mathématiques impliquant des entiers sont effectuées avec une précision de 64 bits.

Les nombres représentés sous forme de chaînes sont automatiquement convertis en chaînes dans la mesure du possible pour le calcul. Suivez deux principes de conversion :

1 : Si une chaîne dont le premier chiffre est un nombre est utilisée dans une opération arithmétique, alors elle est convertie en la valeur de ce nombre
2 : Si une chaîne contient un mélange de caractères et nombres La chaîne ne peut pas être convertie correctement en nombre et sera convertie en 0

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是不允许的

Opérateurs de comparaison

Les opérateurs de comparaison nous permettent de comparer les côtés gauche et droit d'une expression , le résultat d'une opération de comparaison est toujours 1 (vrai), 0 (faux) ou nul (indéfini).



Par défaut, les comparaisons ne sont pas sensibles à la casse. Nous pouvons utiliser le mot-clé binaire pour effectuer des opérations sensibles à la casse
sélectionnez le binaire 'ross' dans ('Chandler', 'Joey', 'Ross'

select ‘100’+’004’;//结果为104 
select ‘90AA’+’0’;//结果为90 
select ‘10x’*’qwe’;//结果0
Les opérateurs logiques peuvent tester la validité logique d'une ou plusieurs expressions (ou ensembles d'expressions). Le résultat d'une opération contenant ces opérateurs est toujours 1 (vrai), 0 (faux) ou nul (ne peut pas être déterminé)
select 6=6,3.4=4.5,’a’=’b’;//判断两边是否相等 
select 7<>7,7<>8,’a’<>’b’;//判断两边是否不相等 
select 100>100,10<100;//判断左边是否大于右边,左边是否小于右边 
select 10>=100,10<=1;//判断左边是否大于等于右边,左边是否小于等于右边 
select 10 between 0 and 100;//检验一个值是否存在于一个指定的范围内 
select 10 not between 11 and 100;//检验一个值是否不存在于一个指定的范围内 
select 7 in (1,2,3,4,5,6,7,8,9);//检验一个值是否包含在一个指定的值集合中 
select 7 not in (1,2,3,4,5,6,7,8,9);//检验一个值是否不包含在一个指定的值集合中

L'opérateur le plus simple parmi les opérateurs logiques est l'opérateur not, qui est l'opérateur qui le suit Le jugement du test logique est inversé, transformant vrai en faux et faux en vrai
sélectionnez not 1, not 0, not (2=2), not (100>20);//Le résultat est 0,1, 0, 1
Compréhension approfondie de la dérive avancée MySQL (2)
et l'opérateur peut tester la validité de deux valeurs ou plus (ou évaluation d'expression), il renvoie vrai si tous ses composants sont vrais et non nuls, sinon renvoie une valeur fausse

select (2=2) et (900

ou, si la valeur contenue ou la valeur de l'expression est vraie et non nulle, elle renvoie une valeur vraie, sinon elle renvoie une valeur fausse.

sélectionnez (2=2) ou (900

MySQL 4.x et versions ultérieures incluent également un opérateur xor supplémentaire qui renvoie vrai si l'un (pas les deux) de ses arguments est vrai. Compréhension approfondie de la dérive avancée MySQL (2)select (1=1) xor (2=4),(1

Compréhension approfondie de la dérive avancée MySQL (2)Bitwise Opérateurs d'opération

Opérateurs de bits
MySQL contient 6 opérateurs spécifiquement pour les opérations sur les bitsCompréhension approfondie de la dérive avancée MySQL (2)L'opérateur "|" est utilisé pour effectuer une opération OU au niveau du bit, tandis que & est utilisé pour effectuer une opération ET au niveau du bit.
Cas :
sélectionnez 16|32,9|4;//Le résultat est 48,13
sélectionnez 30 & 10,8 & 16;//Le résultat est 10,0 Compréhension approfondie de la dérive avancée MySQL (2)
Vous pouvez également décaler les bits vers la gauche et la droite en utilisant respectivement les opérateurs sélectionnez 1>1;//Le résultat est 128,32



^ l'opérateur effectue une opération bit xor
sélectionnez 1^0,0^1 ,17^9,143^66;//Le résultat est 1,1,24,205


~L'opérateur effectue une opération d'inversion de bits et renvoie un résultat entier de 64 bitsCompréhension approfondie de la dérive avancée MySQL (2)select ~18446744073709551614,~ 1 ;
//Le résultat est 1,18446744073709551614

Compréhension approfondie de la dérive avancée MySQL (2)


Compréhension approfondie de la dérive avancée MySQL (2)


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn