T SQL别名列名基于表中的查询

时间:2011-11-30 15:58:00

标签: tsql

我必须从表中选择查询显示列名,例如,'列1'存储在表table1中,我想将'Column 1'显示为列名。我无法对“第1列”进行硬编码,因为在开发代码时它可能是未知的。

Column 1    Column 2
a           b

有什么想法吗?

更新

它允许用户定义列名。

必须通过T SQL生成

3 个答案:

答案 0 :(得分:2)

将别名添加为单独的列或使用动态SQL

这没有意义,因为你知道列的调用内容:你不存储有关列的信息并在你自己的元数据上构建查询

答案 1 :(得分:2)

如果您在设计时不知道列的名称,则使用表示层中的资源文件或类似文件来保存您将显示为column1标签的值。但是,应该注意的是,如果您不知道数据库中列的名称,那么编写任何代码都会很困难,除非您在所有内容中选择*。

答案 2 :(得分:1)

列名相当严格,应以SQL管理员和应用程序开发人员的名字命名。列名的目的不是最终用户界面的描述符。

 Select dbColumn1 as [Customer Name] from tableMain  

即使这不是一个好的做法,然后用户输入是TSQL的一部分,你正在打开SQL注入攻击,它对你的查询控制不是很好。更好的做法是传递参数。