在SELECT结果中转换列类型

时间:2015-01-19 17:18:22

标签: mysql

这是我的表:

id| name  | address | more_info
_______________________________
0 | John  | NY      | infoa
1 | Bill  | PH      | infob
2 | Bob   | KS      | infoc

id类型为BIGINT的位置。

我有这个问题:

SELECT * FROM myTable

对于某些应用程序,BIGINT太长,因此我想将id检索为VARCHAR。我是否可以在结果集中将id转换为VARCHAR,而无需在结果集中命名我想要检索的每个特定列? I.E,我想保留实际查询SELECT *,而不必放SELECT id, name, address等。

1 个答案:

答案 0 :(得分:2)

简单回答:不。 您需要在表格和预期结果之间进行一些转换阶段/层。您可以使用将整数转换为varchars的视图,但由于您不愿意将耦合引入select,我打赌视图会更糟。

另一方面,应用程序方面可能存在机会,具体取决于语言。

编辑: 如果你可以有一个额外的列和一个要忽略的(原始id),也许这会有所帮助:

select CAST(id as CHAR(50)) as idAsVarchar, t.* FROM
(
    select * from your_table
) as t;