Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

MySQL STR_TO_DATE() Function

A função `STR_TO_DATE()` do MySQL é usada para converter uma string em uma data com base em um formato especificado. Ele é particularmente útil para analisar cadeias de datas em objetos de data com os quais o MySQL pode trabalhar.

Uso

A função `STR_TO_DATE()` é normalmente usada quando você precisa transformar uma string em um formato de data para executar operações relacionadas a datas. Essa função requer a cadeia de caracteres a ser convertida e o formato no qual a data é especificada.

STR_TO_DATE(string, format);

Nessa sintaxe, `string` é a cadeia de datas que você deseja converter e `format` é o formato que corresponde à estrutura da cadeia.

Especificadores de formato comuns

Aqui estão alguns especificadores de formato comuns que você pode usar com `STR_TO_DATE()`:

  • %d: Dia do mês (01 a 31)
  • %m: Mês (01 a 12)
  • %Y: Ano (quatro dígitos)
  • %H: Hora (00 a 23)
  • %i: Minutos (00 a 59)
  • %s: Segundos (00 a 59)
  • %W: Nome do dia da semana (por exemplo, domingo)
  • %b: Nome abreviado do mês (por exemplo, janeiro)

Exemplos

1. Conversão básica de string para data

SELECT STR_TO_DATE('10-12-2023', '%d-%m-%Y');

Este exemplo converte a string "10-12-2023" em uma data usando o formato "%d-%m-%Y", que se traduz em "10 de dezembro de 2023".

2. Conversão com o tempo

SELECT STR_TO_DATE('2023/12/10 14:30:00', '%Y/%m/%d %H:%i:%s');

Aqui, a função converte '2023/12/10 14:30:00' em um objeto de data e hora, interpretando o formato como 'Ano/Mês/Dia Hora:Minuto:Segundo'.

3. Analisando diferentes formatos de data

SELECT STR_TO_DATE('Saturday, Dec 10 2023', '%W, %b %d %Y');

Este exemplo demonstra a conversão de uma cadeia de caracteres com um formato de data diferente 'Saturday, Dec 10 2023' usando '%W, %b %d %Y' para interpretar nomes de dias e nomes de meses abreviados.

4. Exemplo de formato incompatível

SELECT STR_TO_DATE('2023-10-12', '%d-%m-%Y');

Esse exemplo retorna `NULL` porque o formato não corresponde à cadeia de caracteres de entrada, destacando a importância de você fazer a correspondência exata entre a cadeia de caracteres de formato e a estrutura da cadeia de caracteres de entrada.

Dicas e práticas recomendadas

  • Garantir a precisão do formato. A string de formato deve corresponder exatamente à estrutura da string de data para que a conversão seja bem-sucedida.
  • Trate os NULLs de forma elegante. Se o formato não corresponder, a função retornará `NULL`; use `COALESCE()` para gerenciar possíveis nulos.
  • Aproveite as funções de data do MySQL. Após a conversão, utilize as funções de data do MySQL para manipular e consultar dados de data com eficiência.
  • Teste com dados de amostra. Valide a função com dados de amostra para garantir que a string de formato corresponda corretamente à estrutura da string de entrada.
  • Considere as configurações de localidade. Lembre-se de que os especificadores de formato de data podem variar de acordo com a localidade, o que pode afetar a análise.

Armadilhas comuns e mensagens de erro

  • Incompatibilidade de formato: Uma armadilha comum é a incompatibilidade entre a string de data e a string de formato, resultando em um valor `NULL`.
  • Diferenças de localidade: Certifique-se de que os especificadores de formato correspondam às configurações de localidade se a cadeia de datas usar nomes de dias ou meses localizados.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça