I SQL Server kan identifikatorer afgrænses ved hjælp af firkantede parenteser, f.eks.
SELECT [gallons/units] ...
I MySQL kan identifikatorer afgrænses ved hjælp af backticks, f.eks.
SELECT `gallons/units` ...
(BEMÆRK:Hvis MySQL SQL_MODE
inkluderer ANSI_QUOTES
, så behandles dobbelte anførselstegn som skilletegn for identifikatorer, på samme måde som Oracle håndterer dobbelte anførselstegn; fraværende indstilling håndteres dobbelte anførselstegn som afgrænsninger for strenge bogstaver. Med ANSI_QUOTES
inkluderet SQL_MODE
, "gallons/units"
vil blive fortolket som en identifikator (kolonnenavn). Uden ANSI_QUOTES
, vil MySQL se den som en streng bogstavelig, som om den var omgivet af enkelte anførselstegn.)
OPFØLGNING:
For så vidt angår fejlen "operand should contain only 1 column(s)"
, det er normalt et problem med forespørgselssemantik, ikke et problem med escape-identifikatorer.
En underforespørgsel i SELECT-listen kan kun returnere et enkelt udtryk, for eksempel ville dette give en fejl:
Query: SELECT 'foo' , ( SELECT 'fee' AS fee, 'fi' AS fi )
Error Code: 1241
Operand should contain 1 column(s)