【发布时间】:2019-08-18 07:45:32
【问题描述】:
是否可以在 Teradata 中选择带有通配符的列?
喜欢:
Select ABC_* FROM TABLE; -> 结果所有列都以 ABC 名称开头。
【问题讨论】:
-
简单的答案是否定的——SQL 不能那样工作。最接近的方法是编写一个程序来读取数据库,找到匹配的列名,然后为您编写 SQL。但是您需要自己编写该程序。
-
您可以为此使用动态 SQL,但我很难想象何时需要这样做。为什么需要它?
-
让我们想象一些表,比如说一个用户表。列可能是:first_name、last_name、address、phone、birthdate、login_name。并且您想要
select l* from users之类的东西,以便获得last_name 和login_name 而不必在查询中拼出它们?一个奇怪的要求,对吧?所以,我想知道你在处理一个多么奇怪的数据库。也许它的设计有问题?如果您需要这方面的帮助,您可以在此处提出带有数据库设计标签的问题。