在SELECT语句中更改Oracle中的列名称

Cat*_*lMF 32 sql-server oracle select columnname

在MSSQL中,我可以选择一个列并通过执行以下操作来更改列标题:

SELECT mycolumn as 'MyNewColumnName' from MyTable
Run Code Online (Sandbox Code Playgroud)

这在Oracle中不起作用.我如何在Oracle中执行相同的操作?

Nic*_*nov 47

  1. 删除单引号

    SELECT mycolumn as MyNewColumnName 
      from MyTable
    
    Run Code Online (Sandbox Code Playgroud)
  2. 用双引号括起别名

    SELECT mycolumn as "MyNewColumnName" 
      from MyTable
    
    Run Code Online (Sandbox Code Playgroud)

  • 使用.Net Oracle客户端,最终会得到一个DataTable,其中包含一个名为MYNEWCOLUMNAME的列(1)和MyNewColumnName就是case(2).所以这不仅仅是Bob提到的问题.如果您将原始结果移交给JSON格式化程序(例如在WebAPI中完成),这一点尤其重要,因为JS对此的处理方式不同. (2认同)

Har*_*hit 6

在Oracle中,您只需在列名后面提供一个空格,并提供不带任何引号的别名

 SELECT mycolumn MyNewColumnName from MyTable
Run Code Online (Sandbox Code Playgroud)

  • @Moudiz - 请解释为什么你认为这不是好习惯. (3认同)
  • @Moudiz:我100%肯定上面的东西会起作用......不一定要使用AS关键字.此别名也可以在前面的代码中使用.所以我不认为这不是一个好的做法. (2认同)
  • @Harshit为什么忽略“ AS”(如果存在)?有人告诉我(我在某处阅读过),需要使用别名AS,以便使查询更清晰:exp:从我的表中选择my_col AS MYnewcool对读者来说将更清楚,以及为什么这样做不好,因为在其他地方为“ AS”是必须的示例:从msgs中创建表ex1 AS select *。如果您在此处删除AS,将导致syntanx错误,因此,如果您尝试在不使用“ AS”的情况下编写查询,则可能-我是说可能的-您错过了在脚本应该在哪里 (2认同)