rango fechas consultar comparar mysql sql comparison

consultar - Comparar fechas en MySQL



mysql comparar fechas (5)

Quiero comparar una fecha de una base de datos que está entre 2 fechas dadas. La columna de la base de datos es DATETIME, y quiero compararla solo con el formato de fecha, no con el formato de fecha y 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''

Me sale este error cuando ejecuto el SQL anterior:

Usted tiene un error en su sintaxis SQL; revise el manual que corresponde a su versión del servidor MySQL para la sintaxis correcta para usar cerca de ''us_reg_date, 120)> ='' 2000-07-05 ''AND CONVERT (CHAR (10), us_reg_date, 120) <='' 2011- ''en línea 1

¿Cómo se puede solucionar este problema?


Esa es la sintaxis de SQL Server para convertir una fecha en una cadena. En MySQL puede usar la función DATE para extraer la fecha de una fecha y hora:

SELECT * FROM players WHERE DATE(us_reg_date) BETWEEN ''2000-07-05'' AND ''2011-11-10''

Pero si desea aprovechar un índice en la columna us_reg_date , puede intentar esto en su lugar:

SELECT * FROM players WHERE us_reg_date >= ''2000-07-05'' AND us_reg_date < ''2011-11-10'' + interval 1 day


Esto funciona para mí:

select date_format(date(starttime),''%Y-%m-%d'') from data where date(starttime) >= date ''2012-11-02'';

Tenga en cuenta la cadena de formato ''% Y-% m-% d'' y el formato de la fecha de entrada.


Puede intentar debajo de la consulta,

select * from players where us_reg_date between ''2000-07-05'' and DATE_ADD(''2011-11-10'',INTERVAL 1 DAY)


esto es lo que funcionó para mí:

select * from table where column BETWEEN STR_TO_DATE(''29/01/15'', ''%d/%m/%Y'') AND STR_TO_DATE(''07/10/15'', ''%d/%m/%Y'')

Tenga en cuenta que tuve que cambiar STR_TO_DATE (columna, ''% d /% m /% Y'') de soluciones anteriores, ya que tardaba años en cargarse


hola chicos gracias por su ayuda obtuve la respuesta.

aquí está el código .......

SELECT * FROM table WHERE STR_TO_DATE(column, ''%d/%m/%Y'') BETWEEN STR_TO_DATE(''29/01/15'', ''%d/%m/%Y'') AND STR_TO_DATE(''07/10/15'', ''%d/%m/%Y'')