В операторе ALTER TABLE, новое имя столбца должно быть поставлены, как и любой другой идентификатор в тексте SQL.
Новое имя столбца не может быть представлено в качестве возврата от функции или в качестве связующего заполнителя. Он должен быть представлен как идентификатор.
То есть, SQL оператор отправки в базу данных необходимо будет иметь новое имя столбца на самом деле прописано, как часть заявления:
ALTER TABLE table_name CHANGE old_column_name new_column_name DATE
Итак, короткий ответ на ваш вопрос: нет , это невозможно сделать в одном выражении SQL.
Очевидно, что вы можете выполнять операции на отдельных стадиях, чтобы получить текущую дату, а также создать строку, содержащую SQL заявление вы хотите выполнить. Кажется, вам кажется, что вам нужно будет определить текущее имя столбца, который вы хотите изменить.
Помимо вопроса, который был задан ...
Я с трудом fathoming на случай, когда использование что-то вроде этого будет соответствующее решение. Что такое проблема - этот тип функциональности пытается решить? Зачем вам нужно изменить имя столбца. Любые операторы SQL, которые ссылаются на столбец, также должны быть изменены. Не могли бы вы сохранить эту «дату» как значение в строке другой таблицы?
Единственное, что я могу думать, почему кто-то хотел бы сделать это, было бы ошибочной попыткой указать имя столбца в наборе результатов из запроса SELECT *.
No. Но почему вы хотите назвать колонку, как это? Если вы считаете, что вам нужно это сделать, ваш дизайн базы данных крайне испорчен. Это очень проблема [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Если вы добавляете столбцы для отдельных дней, ваша схема настолько нарушена, что SuperGlue не может ее исправить. –
Не нарушайте правило [Zero, One или Infinity Rule] (http://en.wikipedia.org/wiki/Zero_one_infinity_rule) надлежащей [нормализации базы данных] (http://en.wikipedia.org/wiki/Database_normalization) , Это очень плохая идея. – tadman
Какой формат вы ожидаете от такого имени столбца? Возможно, «суббота, 26 марта 2016 года» или «2016/03/26» и каков тип данных этой колонки? Наверняка не так. Можете ли вы представить себе путаницу колонки, озаглавленной 2016/03/26, которая представила другие даты. Или представьте себе путаницу такого запроса, как select 2016/03/26' из table_name, где '2016/03/26'> = '2016-03-26'. Это абсурдная идея. –