我怎么能...... SELECT *,lcase(name)AS名称FROM表

时间:2012-07-14 06:52:57

标签: mysql sql

我想修改名称列并将其设为小写,但我还想选择所有其他列。有没有办法在不必写每列的名称的情况下执行此操作。

我正在尝试做这样的事情:

SELECT *, lcase(name) AS name FROM table;

而不是写出所有列名,如下所示:

SELECT lcase(name) AS name, zip, address, age, birthday, etc FROM table;

这可能吗?

3 个答案:

答案 0 :(得分:1)

您不能,但一种选择是使用视图:

create view table_with_lower_name as
select lcase(name) AS name, zip, address, age, birthday, etc 
from table;

一旦定义(即这是一次性创建语句),您可以简单地使用:

select * from table_with_lower_name;

使用视图时有一些注意事项,例如您无法通过它们更新已修改的列(例如此处name),但它可能适合您。

答案 1 :(得分:0)

您的代码段工作原理!虽然select *被视为不良形式,但可能会受到影响。

您可能还希望使用表别名来使其更清晰:

SELECT t.*, lcase(t.name) AS name FROM table t;

答案 2 :(得分:0)

不,除了明确列出所有列之外,没有任何表示法可以选择所有列。

(实际上可以使用动态SQL,但真的不希望这样做。)