Tengo un problema para extraer el año de un campo de marca de tiempo mysql. He conseguido que funcione con un campo de fecha y hora usando este método: VersiónObtenga el año de la marca de tiempo sql
SELECT id FROM TABLE WHERE YEAR(creation_date) = 2010
CREATE TABLE IF NOT EXISTS `pub_media` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) DEFAULT NULL,
`title` text,
`filename` text,
`path` text,
`serv_path` text,
`type` enum('images','videos','files','audio','gallery') DEFAULT NULL,
`keywords` text,
`label_id` int(11) DEFAULT NULL,
`creation_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`update_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
`rank` int(11) NOT NULL DEFAULT '0',
`deleted` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
servidor: 5.1.41 ¿Hay alguna manera simalar para llevar a cabo esta acción en un campo de marca de tiempo? Quiero mantener esta acción en mi declaración de SQL y no intentar moverla a PHP o cualquier otro lenguaje de scripting, si es posible.
diablos, no, no sé por qué no funciona en mi base de datos. Tal vez porque utilizo MyISAM en lugar de InnoDB como el motor de DB? –
Acabo de probarlo con MyISAM, y eso también funciona. ¿Puedes editar tu pregunta e incluir la salida de 'CREATE TABLE
agregó ambas solicitudes –
uso
CAST
función :)SELECT id FROM TABLE WHERE YEAR(CAST(creation_date AS DATE))=2010
debe trabajar con marca de tiempo creation_date
[[editar]], añadido() alrededor del yeso
Fuente
2010-07-05 14:10:25 dweeves
I Estoy obteniendo este error: 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 'fecha_de_cuenta AS DATE) = 2010 Y eliminado = 0 ORDER BY rank DESC' en la línea 1 usando esta consulta: SELECCIONE id, título FROM pub_media DONDE AÑO (CAST creation_date AS DATE) = 2010 AND deleted = 0 ORDER BY rank DESC mysql v. 5.1.41 –
Hola chicos, esto no funciona, deja de jalar :) –
añadido forgotten() en CAST – dweeves
Las siguientes obras ok,
formato a los datos es realmente útil para las consultas de este tipo, lo he utilizado en numerosas ocasiones para romper datos a intervalos de 10 minutos, por ejemplo ...
Fuente
2010-07-05 14:39:42
que alguien debería hacer una prueba de velocidad en lo que es más rápido, usando DATE_FORMAT o TYPE emitido ..: p –
En mi caso, el molde() no funcionó. from_unixtime() hizo sin embargo. La consulta sería la siguiente:
Fuente
2014-10-02 17:13:26 Juampy
Fuente
2016-09-06 10:56:25 Mahesh
Esta respuesta apareció en la cola de revisión de baja calidad, presumiblemente porque no proporciona ninguna explicación del código. Si este código responde a la pregunta, considere agregar agregando texto que explique el código en su respuesta. De esta forma, es mucho más probable que obtengas más votos ascendentes y ayudes al indagador a aprender algo nuevo. – lmo
Extracto año desde la fecha o marca de tiempo en forma más portátil:
Funciona con MySQL, PostgreSQL, Oracle ...
Fuente
2016-11-01 13:01:55 user11153
Cuestiones relacionadas