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 clauseSet 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 toSQL 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>