Изменить имя столбца в Oracle в инструкции SELECT

В MSSQL я могу выбрать столбец и изменить заголовок столбца, выполнив следующие действия:

SELECT mycolumn as 'MyNewColumnName' from MyTable

Это не работает в Oracle. Как мне сделать то же самое в Oracle?


person CathalMF    schedule 30.07.2013    source источник


Ответы (2)


  1. Удалить одинарные кавычки

    SELECT mycolumn as MyNewColumnName 
      from MyTable
    
  2. Заключите псевдоним в двойные кавычки

    SELECT mycolumn as "MyNewColumnName" 
      from MyTable
    
person Nick Krasnov    schedule 30.07.2013
comment
Если вы поместите его в двойные кавычки, вы получите имя CaseSensitive, а это означает, что везде, где вы его используете, вам придется заключать его в двойные кавычки, которые очень быстро устаревают. - person Bob Jarvis - Reinstate Monica; 30.07.2013
comment
И вы также не должны использовать одинарные кавычки в MS SQL. Используйте двойные кавычки или квадратные скобки. Сохраните одинарные кавычки для строковых констант. - person Gordon Linoff; 30.07.2013
comment
С клиентом .Net Oracle вы получите DataTable со столбцом с именем MYNEWCOLUMNAME в случае (1) и MyNewColumnName в случае (2). Так что дело не только в том, что упомянул Боб. Это особенно важно, если вы передаете необработанные результаты форматировщику JSON, как это делается, например. в WebAPI, потому что JS относится к этому по-другому. - person Zartag; 01.02.2017
comment
В Toad for Oracle у меня тоже работает этот SELECT mycolumn "MyNewColumnName" from MyTable и этот SELECT mycolumn MyNewColumnName from MyTable. - person jeppoo1; 19.03.2020

В Oracle вы можете просто указать пробел после имени столбца и указать имя псевдонима без кавычек, как

 SELECT mycolumn MyNewColumnName from MyTable
person Harshit    schedule 30.07.2013
comment
@Moudiz - пожалуйста, объясните, ПОЧЕМУ вы считаете, что это не очень хорошая практика. - person Bob Jarvis - Reinstate Monica; 30.07.2013
comment
@Moudiz: - Я на 100% уверен, что вышеперечисленное сработает ... не обязательно использовать ключевое слово AS. И это псевдоним также можно использовать в коде. Поэтому я не вижу смысла в том, чтобы это не было хорошей практикой. - person Harshit; 30.07.2013
comment
@Harshit Зачем игнорировать «AS», если он существует? кто-то сказал мне (и я это где-то читал), что псевдоним AS нужен, чтобы запрос был более понятным exp: select my_col AS MYnewcool из моей таблицы будет понятнее читателю и почему это плохая практика, потому что в других местах «AS» обязателен пример: создайте таблицу ex1 AS select * from msgs. Если вы удалите AS здесь, это вызовет синтаксическую ошибку, поэтому, если вы практикуете написание своих запросов без «AS», это может — я говорю, что это может быть — вы пропустите включение AS где-то в сценарий, где вы должны - person Moudiz; 30.07.2013
comment
@Moudiz, хорошо, понял. Просто хочу добавить, что в некоторых местах обязательно использовать As, как вы указали, и есть еще несколько. Если вы не используете его там, получите синтаксическую ошибку. Но в приведенном выше ответе использование AS бесполезно, так как я не вижу никакого удобства использования и хорошей практики кода. PS:- без обид :) - person Harshit; 30.07.2013
comment
@Harshit, это дело привычки, есть много мест, где вам нужно использовать псевдоним, в столбцах соединения, процедурах или многими другими способами. Я думаю опубликовать вопрос. Является ли псевдоним «AS» хорошей привычкой или нет, и мы дадим детали, которые мы упомянули, и у нас будут разные мнения ... что вы думаете? в конце концов, мы здесь, чтобы поделиться своими знаниями - person Moudiz; 30.07.2013