Dans SQL Server, les identifiants peuvent être délimités à l'aide de crochets, par exemple
SELECT [gallons/units] ...
Dans MySQL, les identifiants peuvent être délimités à l'aide de backticks, par exemple
SELECT `gallons/units` ...
(REMARQUE :Si MySQL SQL_MODE
inclut ANSI_QUOTES
, les guillemets doubles sont traités comme des délimiteurs pour les identificateurs, de la même manière qu'Oracle gère les guillemets doubles ; en l'absence de ce paramètre, les guillemets doubles sont traités comme des délimiteurs pour les littéraux de chaîne. Avec ANSI_QUOTES
inclus SQL_MODE
, "gallons/units"
sera interprété comme un identifiant (nom de colonne). Sans ANSI_QUOTES
, MySQL le verra comme un littéral de chaîne, comme s'il était entouré de guillemets simples.)
SUIVI :
En ce qui concerne une erreur "operand should contain only 1 column(s)"
, il s'agit généralement d'un problème de sémantique de requête, et non d'un problème d'échappement des identifiants.
Une sous-requête dans la liste SELECT ne peut renvoyer qu'une seule expression, par exemple, cela renverrait une erreur :
Query: SELECT 'foo' , ( SELECT 'fee' AS fee, 'fi' AS fi )
Error Code: 1241
Operand should contain 1 column(s)