Eu quero comparar uma data de um banco de dados que está entre 2 datas fornecidas. A coluna do banco de dados é DATETIME e desejo compará-la apenas ao formato de data, não ao formato de data e hora.
SELECT * FROM `players` WHERE CONVERT(CHAR(10),us_reg_date,120) >= '2000-07-05' AND CONVERT(CHAR(10),us_reg_date,120) <= '2011-11-10'
Recebo este erro quando executo o SQL acima:
Você tem um erro em sua sintaxe SQL; verifique o manual que corresponde à versão do seu servidor MySQL para obter a sintaxe correta para usar próximo a 'us_reg_date, 120)> =' 2000-07-05 'AND CONVERT (CHAR (10), us_reg_date, 120) <=' 2011- 'em linha 1
Como esse problema pode ser resolvido?
mysql
sql
comparison
NVG
fonte
fonte
Essa é a sintaxe do SQL Server para converter uma data em uma string. No MySQL, você pode usar a função DATE para extrair a data de um datetime:
Mas se você quiser tirar proveito de um índice na coluna,
us_reg_date
pode tentar o seguinte:fonte
Isso funciona para mim:
Observe a string de formato '% Y-% m-% d' e o formato da data de entrada.
fonte
Ei pessoal, obrigado pela ajuda, eu tenho a resposta.
aqui está o código .......
fonte
isso é o que funcionou para mim:
Por favor, note que eu tive que mudar STR_TO_DATE (coluna, '% d /% m /% Y') das soluções anteriores, pois estava demorando muito para carregar
fonte