Подтвердить что ты не робот

Mysql: установите формат DATETIME в "DD-MM-YYYY HH: MM: SS" при создании таблицы

После googling я не могу найти способ создать новую таблицу с столбцом DATETIME со стандартным форматом, установленным на 'DD-MM-YYYY HH:MM:SS'

Я увидел учебное пособие, в котором это было сделано в phpmyadmin, поэтому я подозреваю, что могу использовать mysql через командную строку и добиваться того же самого при создании моей новой таблицы с помощью

CREATE TABLE ()

Заранее благодарю

4b9b3361

Ответ 1

"MySQL извлекает и отображает значения DATETIME в формате" YYYY-MM-DD HH: MM: SS ". Это с сайта mysql. Вы можете хранить только этот тип, но вы можете использовать одну из многих функций формата времени, чтобы изменить ее, когда вам нужно ее отобразить.

Функции времени и даты Mysql

Например, одной из этих функций является DATE_FORMAT, которая может быть использована так:

SELECT DATE_FORMAT(column_name, '%m/%d/%Y %H:%i') FROM tablename

Ответ 2

Используйте функцию DATE_FORMAT для изменения формата.

SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y')

SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename

Подробнее см. DOC

Ответ 3

Как объяснили другие, это невозможно, но здесь альтернативное решение требует небольшой настройки, но работает как столбец datetime.

Я начал думать, как я могу сделать форматирование возможным. У меня появилась идея. Как насчет запускать это? Я имею в виду добавление столбца с типом char, а затем обновление этого столбца с помощью триггера MySQL. И это сработало! Я сделал некоторые исследования, связанные с триггерами, и, наконец, придумал эти запросы:

CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
CREATE TRIGGER timestampper BEFORE UPDATE ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');

Вы не можете использовать TIMESTAMP или DATETIME как тип столбца, потому что они имеют собственный формат и автоматически обновляются.

Итак, вот ваша альтернативная временная метка или альтернатива datetime! Надеюсь, это помогло, по крайней мере, я рад, что у меня это получилось.

Ответ 4

Я использовал следующую строку кода и отлично работает Спасибо.... @Mithun Sasidharan **

SELECT DATE_FORMAT (column_name, '% d/% m/% Y') FROM tablename

**

Ответ 5

Я уверен, что вы не можете изменить формат datetime в mysql. Настройка phpmyadmin, вероятно, использует пользовательский формат, поскольку он читает дату-время (используя DATE_FORMAT или что-то из php). Не имеет значения, какой формат использует база данных, формат в приложении, чтобы отображать его по своему желанию.

Форматирование даты - довольно обычная задача. Обычно мне нравится абстрагироваться от кода интернационализации или, если вам не нужно иметь дело с i18n, в библиотеку общей даты. Это помогает поддерживать согласованность и упрощает изменение позже (или добавить поддержку i18n).

Ответ 6

Нет, вы не можете; datetime будет храниться в формате по умолчанию только при создании таблицы, а затем вы можете изменить формат отображения в select так, как хотите, используя Mysql Date Time Functions

Ответ 7

Это невозможно сделать для таблицы; кроме того, вы даже не можете изменить это значение по умолчанию.

Ответ - это серверная переменная datetime_format, она не используется.

Ответ 8

Dim x as date 

x = dr("appdate")
appdate = x.tostring("dd/MM/yyyy")

dr - это переменная datareader

Ответ 9

попробуйте следующее:

DATE NOT NULL FORMAT 'YYYY-MM-DD'