Mysql: Configure o formato de DATETIME para ‘DD-MM-AAAA HH: MM: SS’ ao criar uma tabela

Depois de pesquisar, não consigo encontrar uma maneira de criar uma nova tabela com uma coluna DATETIME com o formato padrão definido como ‘ DD-MM-YYYY HH:MM:SS

Eu vi um tutorial em que foi feito no phpmyadmin então eu suspeito que eu poderia usar o mysql via linha de comando e conseguir a mesma coisa ao criar minha nova tabela com

 CREATE TABLE () 

Agradeço antecipadamente

“O MySQL recupera e exibe valores de DATETIME no formato ‘AAAA-MM-DD HH: MM: SS’.” Isso é do site mysql. Você pode armazenar apenas este tipo, mas pode usar uma das muitas funções de formato de hora para alterá-lo, quando precisar exibi-lo.

Funções de hora e data do mysql

Por exemplo, uma dessas funções é a DATE_FORMAT , que pode ser usada para gostar:

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

Use a function DATE_FORMAT para alterar o formato.

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

Consulte o DOC para mais detalhes

Como outros explicaram que não é possível, mas aqui está uma solução alternativa, requer um pouco de ajuste, mas funciona como uma coluna datetime.

Comecei a pensar, como eu poderia tornar a formatação possível. Eu tenho uma ideia. Que tal fazer gatilho para isso? Quero dizer, adicionando coluna com tipo char e atualizando essa coluna usando um gatilho MySQL. E isso funcionou! Fiz algumas pesquisas relacionadas aos gatilhos e, finalmente, fiz estas perguntas:

 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'); 

Você não pode usar TIMESTAMP ou DATETIME como um tipo de coluna, porque eles têm seu próprio formato e são atualizados automaticamente.

Então, aqui está sua alternativa alternativa de timestamp ou datetime! Espero que isso ajude, pelo menos eu estou feliz que eu tenho esse trabalho.

Eu usei seguinte linha de código e funciona bem Obrigado …. @Mithun Sasidharan **

SELECT DATE_FORMAT (column_name, ‘% d /% m /% Y’) FROM nome da tabela

**

Tenho certeza de que você não pode alterar o formato datetime no mysql. A configuração do phpmyadmin provavelmente está aplicando um formato personalizado enquanto lê o datetime (usando DATE_FORMAT ou algo do php). Não importa qual formato o database usa, formate no aplicativo para exibi-lo como desejar.

A formatação de data é uma tarefa bastante comum. Eu normalmente gosto de abstraí-lo em código de internacionalização ou, se você não precisa lidar com o i18n, em uma biblioteca comum de utilitários de data. Isso ajuda a manter as coisas consistentes e facilita a alteração posterior (ou adiciona suporte ao i18n).

Não você não pode; datetime será armazenado no formato padrão apenas durante a criação da tabela e, em seguida, você poderá alterar o formato de exibição ao select consulta da maneira que desejar usando as Funções de Data e Hora do Mysql

Isso não pode ser feito para a tabela; Além disso, você ainda não pode alterar esse valor padrão.

A resposta é uma variável de servidor datetime_format , não é usada.

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

dr é a variável do datareader

tente isto:

 DATE NOT NULL FORMAT 'YYYY-MM-DD'