A função `NOW()` do MySQL retorna a data e a hora atuais no formato `YYYY-MM-DD HH:MM:SS`. É comumente usado para capturar o momento exato em que uma instrução SQL é executada. O resultado é baseado no fuso horário atual do servidor, a menos que você tenha configurado de outra forma.
Uso
A função `NOW()` é usada quando você precisa do carimbo de data/hora atual para operações como inserção de dados, atualizações ou registro em contextos SQL, como instruções `SELECT` ou procedimentos armazenados. É frequentemente utilizado para rastrear o tempo de criação ou modificação de registros.
Aqui, a função `NOW()` registra a hora exata em que um usuário faz login, armazenando-a na coluna `created_at`.
3. Atualizar com o registro de data e hora atual
sql
UPDATE orders
SET last_modified =NOW()WHERE order_id =102;Tecnologia
Esse exemplo atualiza a coluna `last_modified` de um pedido específico para o registro de data e hora atual, indicando quando a última alteração foi feita.
Dicas e práticas recomendadas
Use em INSERT e UPDATE. Utilize `NOW()` para marcar automaticamente a data e a hora dos registros após a criação ou modificação.
Combine com as configurações de fuso horário. Verifique se as configurações de fuso horário do banco de dados correspondem às necessidades do aplicativo para obter carimbos de data e hora precisos. Use funções como `CONVERT_TZ()` para gerenciar os fusos horários de forma eficaz.
Considere o impacto no desempenho. O `NOW()` é avaliado uma vez por instrução, não por linha, o que reduz a sobrecarga de desempenho em consultas grandes.
Utilize para registro e auditoria. Use `NOW()` para rastrear efetivamente a atividade em seus aplicativos para fins de depuração e auditoria.
Compatibilidade de tipos de dados. A função `NOW()` pode ser armazenada nas colunas `DATETIME` e `TIMESTAMP`, cada uma com propriedades diferentes em relação ao tratamento do fuso horário e à atualização automática.
Considerações sobre a transação. Tenha cuidado com a forma como os valores `NOW()` podem variar entre diferentes instruções em uma transação se forem executados em momentos diferentes.
Diferencia-se de CURRENT_TIMESTAMP(). Embora `NOW()` e `CURRENT_TIMESTAMP()` sejam frequentemente usados de forma intercambiável, existem diferenças sutis; `CURRENT_TIMESTAMP()` pode ser ajustado pelos atributos `DEFAULT CURRENT_TIMESTAMP` e `ON UPDATE CURRENT_TIMESTAMP` nas definições de coluna.
A função `NOW()` do MySQL retorna a data e a hora atuais no formato `YYYY-MM-DD HH:MM:SS`. É comumente usado para capturar o momento exato em que uma instrução SQL é executada. O resultado é baseado no fuso horário atual do servidor, a menos que você tenha configurado de outra forma.
Uso
A função `NOW()` é usada quando você precisa do carimbo de data/hora atual para operações como inserção de dados, atualizações ou registro em contextos SQL, como instruções `SELECT` ou procedimentos armazenados. É frequentemente utilizado para rastrear o tempo de criação ou modificação de registros.
Nessa sintaxe, `NOW()` produz a data e a hora atuais quando a consulta é executada.
Exemplos
1. Recuperar data e hora atuais
Este exemplo retorna a data e a hora atuais do servidor.
2. Inserir carimbo de data/hora atual
Aqui, a função `NOW()` registra a hora exata em que um usuário faz login, armazenando-a na coluna `created_at`.
3. Atualizar com o registro de data e hora atual
Esse exemplo atualiza a coluna `last_modified` de um pedido específico para o registro de data e hora atual, indicando quando a última alteração foi feita.
Dicas e práticas recomendadas