List:General Discussion« Previous MessageNext Message »
From:SGreen Date:November 11 2005 2:20pm
Subject:Re: Does MySQL Support '=' Sign?
View as plain text  
"Martijn Tonies" <m.tonies@stripped> wrote on 11/11/2005 03:42:42 AM:

> 
> > > Does MySQL support:
> > >
> > > SELECT ID_TAG= ID
> > > FROM TABLE
> > >
> > > rather than select ID TAG_ID from Table. I need this for MS SQL
> > Compabilty.
> > >
> > >
> >
> >
> > Within the SELECT statement you must use :=   If you were in a SET
> > statement, you could use = or :=
> >
> > http://dev.mysql.com/doc/refman/4.1/en/variables.html
> 
> Shawn, I'm unsure if this is the same.
> 
> In MS SQL, using the above construct defines a column alias.
> 
> With regards,
> 
> Martijn Tonies
> Database Workbench - tool for InterBase, Firebird, MySQL, Oracle & MS 
SQL
> Server
> Upscene Productions
> http://www.upscene.com
> Database development questions? Check the forum!
> http://www.databasedevelopmentforum.com
> 
> 

Did you read the link? 

The OP wanted to know if MySQL supported the = sign in a SELECT statement. 
The documentaion I referred the OP to clearly differentiates the use of = 
and := within SELECT statements and SET statements for MySQL. If the MySQL 
behavior is not what they were hoping for then they are now informed that 
a form used in MS SQL to produce column aliases does not work the same way 
on MySQL platform and why it doesn't work that way.  I don't think I could 
have explained it myself any better than what was already documented. 
Hence, the simple RTFM answer....

BTW -- the "SELECT ID TAG_ID,..." form works equally well on MS SQL to 
produce column aliases because it is ANSI compliant. 

From: "ISO/IEC 9075-2:2003 (E) 7.12 <query specification>" (a.k.a. 
SQL:2003's definition of the SELECT clause)

--------------quote-----------------------
<query specification> ::=
    SELECT [ <set quantifier> ] <select list> <table expression>

<select list> ::=
    <asterisk>
  | <select sublist> [ { <comma> <select sublist> }... ]

<select sublist> ::=
    <derived column>
  | <qualified asterisk>

<qualified asterisk> ::=
    <asterisked identifier chain> <period> <asterisk>
  | <all fields reference>

<asterisked identifier chain> ::=
    <asterisked identifier> [ { <period> <asterisked identifier> }... ]

<asterisked identifier> ::= <identifier>

<derived column> ::= <value expression> [ <as clause> ]

<as clause> ::= [ AS ] <column name>

<all fields reference> ::=
    <value expression primary> <period> <asterisk>
    [ AS <left paren> <all fields column name list> <right paren> ]

<all fields column name list> ::= <column name list>
--------------end quote-----------------------

As you can see, there is no grammar for the "ALIAS=FIELDNAME" form 
supported by MS SQL. Aliases are not defined with the = symbol. <value 
expression>s can contain = signs. However if used un-aliased, the 
resulting column is the entire expression not just what is on the 
left-hand-side of the = sign in the expression. Once again, MS's inability 
to follow simple directions has created headaches for its users.

Respectfully,
Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine



Thread
Does MySQL Support '=' Sign?The Nice Spider11 Nov
  • Re: Does MySQL Support '=' Sign?SGreen11 Nov
    • Re: Does MySQL Support '=' Sign?Martijn Tonies11 Nov
      • Re: Does MySQL Support '=' Sign?SGreen11 Nov
        • Re: Does MySQL Support '=' Sign?Martijn Tonies11 Nov
  • Re: Does MySQL Support '=' Sign?Pooly11 Nov