Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL选择*并强制转换其中一个变量_Sql_Teradata - Fatal编程技术网

SQL选择*并强制转换其中一个变量

SQL选择*并强制转换其中一个变量,sql,teradata,Sql,Teradata,我在TeraData工作,我想选择表中的所有列,除了我需要转换其中一列之外。有没有一种简单的方法可以做到这一点,而不必每次都写出所有的列名 这描述了我想要做的事情: SELECT top 500 *, cast( cast(var AS format 'Z(I)' ) AS varchar(18) ) as casted_var FROM db.tbl 如果为表别名,则可以执行以下操作: select top 500 t1.*, cast(..) as <some cle

我在TeraData工作,我想选择表中的所有列,除了我需要转换其中一列之外。有没有一种简单的方法可以做到这一点,而不必每次都写出所有的列名

这描述了我想要做的事情:

SELECT top 500 *,
       cast( cast(var AS format 'Z(I)' ) AS varchar(18) ) as casted_var
FROM db.tbl

如果为表别名,则可以执行以下操作:

select top 500 t1.*, 
cast(..) as <some clever alias> 
from db.tbl t1. 
选择500强t1。*,
将(…)铸造为
来自db.tbl t1。

但是,正如其他人所说,最好写出选择列表。1

不,除非您想使用
动态sql
。无论如何,使用*是不好的做法。你应该每次都写出来。你能用视图吗?(我是甲骨文公司的人,所以对teradata不太确定……但是一个视图可能会有点帮助。)每次都写出来不是一个选项。从这些表中选择数百个变量。如果您为表别名,您可以这样做:
selecttop500t1.*,cast(..)as from db.tblt1
。然而,正如其他人所说,最好写出选择列表。