I SQL Server kan identifierare avgränsas med hakparenteser, t.ex.
SELECT [gallons/units] ...
I MySQL kan identifierare avgränsas med hjälp av backticks, t.ex.
SELECT `gallons/units` ...
(OBS:Om MySQL SQL_MODE
inkluderar ANSI_QUOTES
, då behandlas dubbla citattecken som avgränsare för identifierare, på samma sätt som Oracle hanterar dubbla citattecken; Om den inställningen saknas, hanteras dubbla citattecken som avgränsare för bokstavssträngar. Med ANSI_QUOTES
ingår SQL_MODE
, "gallons/units"
kommer att tolkas som en identifierare (kolumnnamn). Utan ANSI_QUOTES
, kommer MySQL att se den som en bokstavlig sträng, som om den var omgiven av enkla citattecken.)
UPPFÖLJNING:
Så långt som ett fel "operand should contain only 1 column(s)"
, det är vanligtvis ett problem med frågesemantik, inte ett problem med escape-identifierare.
En underfråga i SELECT-listan kan endast returnera ett enstaka uttryck, till exempel skulle detta ge ett fel:
Query: SELECT 'foo' , ( SELECT 'fee' AS fee, 'fi' AS fi )
Error Code: 1241
Operand should contain 1 column(s)