Tengo una tabla en la base de datos MySQL que está configurada con DATETIME
. Necesito estar SELECT
en esta tabla solo por FECHA y excluyendo la hora.
¿Cómo hago SELECT
en esta tabla solo con la fecha y sin pasar por la hora, incluso si esa columna específica está configurada en DATETIME
?
Ejemplo
Ahora es:
2012-01-23 09:24:41
Necesito hacer un SELECT
solo para esto:2012-01-23
Respuestas:
SELECT DATE(ColumnName) FROM tablename;
Más sobre la función DATE () de MySQL .
fuente
puedes usar date_format
para la zona horaria
fuente
Puedes usar
select DATE(time) from appointment_details
solo para la fechao
Puedes usar
select TIME(time) from appointment_details
solo por tiempofuente
Intente usar
para hoy:
para la fecha seleccionada:
fuente
En MYSQL tenemos una función llamada DATE_FORMAT (fecha, formato) . En su caso, su declaración de selección será así: -
SELECT DATE_FORMAT(dateTimeFieldName,"%a%m%Y") as dateFieldName FROM table_name
Para obtener más información sobre las funciones FECHA y HORA de Mysql, haga clic aquí.
fuente
Simplemente puedes hacer
fuente
Intenté hacer una
SELECT DATE(ColumnName)
, sin embargo, esto no funciona para lasTIMESTAMP
columnas † porque están almacenadas en UTC y se usa la fecha UTC en lugar de convertir a la fecha local. Necesitaba seleccionar filas que estaban en una fecha específica en mi zona horaria, por lo que combinando mi respuesta a esta otra pregunta con la respuesta de Balaswamy Vaddeman a esta pregunta , esto es lo que hice:Si está almacenando fechas como
DATETIME
Solo haz
SELECT DATE(ColumnName)
Si está almacenando fechas como
TIMESTAMP
Cargue los datos de la zona horaria en MySQL si aún no lo ha hecho. Para servidores Windows, consulte el enlace anterior. Para servidores Linux, FreeBSD, Solaris y OS X, haría lo siguiente:
Luego formatee su consulta de esta manera:
También puede poner esto en la
WHERE
parte de la consulta como esta (pero tenga en cuenta que los índices en esa columna no funcionarán):(Obviamente, sustituya
America/New_York
por su zona horaria local).† La única excepción a esto es si su zona horaria local es GMT y no tiene horario de verano porque su hora local es la misma que UTC.
fuente
Prueba
SELECT * FROM Profiles WHERE date(DateReg)=$date
dónde está $ fecha en aaaa-mm-ddAlternativamente
SELECT * FROM Profiles WHERE left(DateReg,10)=$date
Salud
fuente
Puedes probar esto:
Si marca lo siguiente:
Puedes ver que lleva mucho tiempo.
fuente
fuente
Pruebe esta respuesta.
fuente
Utilizar
DATE_FORMAT
ejemplo:
fuente
Este se puede usar para obtener la fecha en formato 'aaaa-mm-dd'.
fuente
si la columna de tiempo está en la marca de tiempo, obtendrá el valor de fecha de esa marca de tiempo usando esta consulta
fuente
Con el interés de poner realmente una solución funcional a esta pregunta:
Obviamente, puede cambiar la función NOW () a cualquier fecha o variable que desee.
fuente