肯定以前曾经问过这个问题,但是我的搜索还没有提出解决方案。
MySQL有没有办法包装列名?我知道我可以将它们称为短名称,但它们已经尽可能短,但仍然是描述性的。
我想要类似的东西:
SELECT u.longcolumnname AS 'Long <br/> Column <br/> Name'
返回:
Long
Column
Name
这甚至可能吗?
答案 0 :(得分:0)
如果你想真的搞砸了,请查看SQL的BNF定义,例如 http://savage.net.au/SQL/sql-2003-2.bnf
选择列表是什么:
<select list> ::= <asterisk> | <select sublist> [ { <comma> <select sublist> }... ]
<select sublist> ::= <derived column> | <qualified asterisk>
<derived column list> ::= <column name list>
<column name list> ::= <column name> [ { <comma> <column name> }... ]
<column name> ::= <identifier>
<identifier> ::= <actual identifier>
<actual identifier> ::= <regular identifier> | <delimited identifier>
<regular identifier> ::= <identifier body>
<delimited identifier> ::= <double quote> <delimited identifier body> <double quote>
<delimited identifier body> ::= <delimited identifier part>...
<delimited identifier part> ::= <nondoublequote character> | <doublequote symbol>
<nondoublequote character> ::= !! See the Syntax Rules.
Syntax rule 6: A <nondoublequote character> is any character of
the source language character set other than a <double quote>.
顺便说一句,你可以在选择中包含换行符/回车符,它可以正常工作。
从我的数据库
select startTime as "Start
Time"
from queries;
当我从MySQL客户端复制该值(右键单击带有名称的复制行)时,我得到
# start
Time
'1392061991'
所以MySQL确实包含了回车。但是,MySQL客户端中显示的列名只有一行,它只显示&#34; start&#34;因为剩下的就在它之下了。