Je me demandais pourquoi MySQL utilise un seul signe égal à des instructions conditionnelles au lieu des signes les plus typiques de deux égaux. Existe-t-il une raison technique / historique à cela? Merci. P>
3 Réponses :
plus comme historique. p>
C'est SQL. Il a utilisé un seul signe égal à une comparaison depuis le début des années 70. P>
Il a été développé par IBM dans les années 70. Il fut à l'origine nommé langage de requête anglais structuré, il est donc destiné à être proche de la langue humaine régulière.
Bonjour, je me demandais pourquoi MySQL utilise un seul signe égal à des instructions conditionnelles au lieu des signes les plus typiques de deux égaux. Existe-t-il une raison technique / historique à cela? Merci. P> blockQuote>
La comparaison est beaucoup plus commune dans
SQL code> que cession. P>
C'est pourquoi
SQL code> utilise plus de syntaxe courte pour faire des choses plus courantes. P>
dans classique
SQL code>, la comparaison peut être distinguée de l'affectation par contexte (affectation peut être uniquement dans la clause
Set Code> d'une instruction CODE> Mise à jour), C'est pourquoi un opérateur peut être utilisé pour les deux opérations. P>
in
mySQL code> S. s Extension to
SQL code>, l'affectation à une variable de session est désignée par
: = code> p>
SQL n'a pas évolué de Ingres 'Quel. Quel, bien que peut-être à certains égards un meilleur design, a été supplanté par SQL.
Il n'y a jamais de cas d'ambiguïté en SQL. strong> p>
dans l'original un guide de la standard SQL em> par cdate (Edition 1987), Mais dans d'autres langues, telles que C / C ++ / C # / Java, Certaines langues comme JavaScript / ECMAScript introduisent également = code> pour la mission est uniquement utilisé dans le fichier
code> Clause de
Mise à jour code>. Partout ailleurs
= code> est utilisé qu'il est utilisé à la comparaison. P>
= code> peut être utilisé comme affectation, mais elle renvoie également une valeur. Donc
a = b code> signifie "définir
a code> égal à
b code> et retourner
a code>" alors que
a = = B code> signifie "retour
true code> si
a code> et
b code> sont égaux". (Cela conduit à un bogue très courant dans les programmes C, car
si (a = b) code> et
si (a == b) code> est à la fois valide, car le résultat ne Il faut être un bool.) p>
=== code> comme troisième type de comparaison. Dans ces langues,
== code> signifie "convertir au même type et comparer" alors que
=== code> signifie "retour
vrai code> Seulement si elles sont les mêmes type et même valeur. " P>