有没有办法在sql语句中选择*时从列名中删除'_'?

use*_*705 0 sql sql-server

我的表格中包含所有列名称(有超过80列,我现在无法更改列名称),格式为"_".像First_Name,Last_Name,...

所以我想使用select * from table而不是使用AS.

我想通过在一个语句中删除"_"来选择它们.无论如何我能做到吗?Replace(coulmnName, '_','')在select语句中的东西?

谢谢

dre*_*w_w 5

您只需重命名查询中的列即可.例如:

SELECT FIRST_NAME [First Name],
       LAST_NAME [Last Name]
  FROM UserTable
Run Code Online (Sandbox Code Playgroud)

您也可以使用AS关键字,但这是可选的.另请注意,如果您不想在每个查询上执行此操作,则可以使用此过程创建具有重命名列的视图.然后你可以SELECT *按照你想要的方式使用(尽管出于很多原因这被认为是个坏主意).

祝你好运!

替代方案 - 在客户代码中映射:

另一种选择是在客户端代码中进行映射.该解决方案将在很大程度上取决于您的ORM.大多数ORM(例如LINQ或EF)将允许您重新映射.如果没有别的,您可以使用AutoMapper或类似方法使用基于约定的命名重命名客户端上的列.