这是我的表:
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
等。
答案 0 :(得分:2)
简单回答:不。
您需要在表格和预期结果之间进行一些转换阶段/层。您可以使用将整数转换为varchars的视图,但由于您不愿意将耦合引入select
,我打赌视图会更糟。
另一方面,应用程序方面可能存在机会,具体取决于语言。
编辑: 如果你可以有一个额外的列和一个要忽略的(原始id),也许这会有所帮助:
select CAST(id as CHAR(50)) as idAsVarchar, t.* FROM
(
select * from your_table
) as t;