Mysql: настройте формат DATETIME на "DD-MM-YYYY HH:MM: SS" при создании таблицы
после googling вокруг, я не могу найти способ создать новую таблицу с DATETIME
столбец с форматом по умолчанию, установленным в'DD-MM-YYYY HH:MM:SS
'
Я видел учебник, в котором это было сделано в phpmyadmin
Я так подозреваю, что я мог бы использовать MySQL через командную строку и достичь того же при создании новой таблицы с помощью
CREATE TABLE ()
спасибо заранее
9 ответов
"MySQL извлекает и отображает значения DATETIME в формате" гггг-ММ-ДД чч:мм:СС"." Это с сайта mysql. Вы можете сохранить только этот тип, но вы можете использовать одну из многих функций формата времени, чтобы изменить его, когда вам нужно отобразить его.
например, одной из таких функций является DATE_FORMAT, который можно использовать для того чтобы полюбить так:
SELECT DATE_FORMAT(column_name, '%m/%d/%Y %H:%i') FROM tablename
используйте функцию DATE_FORMAT для изменения формата.
SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y')
SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename
Refer DOC для более подробной информации
как объясняли другие, это невозможно, но вот альтернативное решение, оно требует небольшой настройки, но работает как столбец 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! Надеюсь, это помогло, по крайней мере, я рад, что это сработало.
Я использовал следующую строку кода , и она отлично работает.... @Mithun Sasidharan **
выберите DATE_FORMAT (column_name, '%d/%m/%Y') из tablename
**
Я уверен, что вы не можете изменить формат datetime в mysql. Параметр phpmyadmin, вероятно, применяет пользовательский формат при чтении datetime (используя DATE_FORMAT или что-то из php). Неважно, какой формат данных используется формат в приложении, чтобы отобразить его, как вы хотите.
форматирование даты-довольно распространенная задача. Обычно мне нравится абстрагировать его в код интернационализации или, если вам не нужно иметь дело с i18n, в общий библиотека утилиты даты. Это помогает сохранить согласованность и упрощает изменение позже (или добавить поддержку i18n).
нет, вы не можете; datetime будет храниться в формате по умолчанию только при создании таблицы, а затем вы можете изменить формат отображения в вас select
запрос так, как вы хотите, используя Mysql Функции Даты И Времени
Это невозможно сделать для таблицы; кроме того, вы даже не можете изменить это значение по умолчанию вообще.
ответ-переменная сервера datetime_format, оно не используется.
Dim x as date
x = dr("appdate")
appdate = x.tostring("dd/MM/yyyy")
dr является переменной datareader