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