2013-06-04 10 views
1
INSERT INTO `empleado` VALUES ('100', 'Alfonso', '1999-11-22', '100', '11'); 
INSERT INTO `empleado` VALUES ('101', 'Encarna', '2001-11-12', '100', '15'); 
INSERT INTO `empleado` VALUES ('102', 'Paco', '1999-10-16', '101', '12'); 
INSERT INTO `empleado` VALUES ('103', 'Juan Carlos', '1999-01-12', '101', '10'); 

Это моя дата Типа, мне нужно выбрать некоторые коды, которые попали в компанию в 3 срока 1999SQL Query третий термин Дата

"select nombre,coddep,fecha_ingreso from 
empleado where fecha_ingreso >1999;" 

-Вот был мой первоначальный запрос, но это неправильно так как он выбирает name, cod и datetime >1999

+0

ли вы имеете в виду 3-й квартал 1999 года, с января-марта является первой четверти? – shahkalpesh

+0

да, jan-april будет первым термином – florin

+0

Jan-April? Это 4 месяца, четверть - всего 3 месяца. – Barmar

ответ

1

Это будет получать строки в 3-м календарном квартале 1999 года:

SELECT nombre, coddep, fecha_ingreso 
FROM empleado 
WHERE fecha_ingreso BETWEEN '1999-07-01' AND '1999-09-30' 

Если поле DATETIME вместо DATE, изменить вторую дату на 1999-09-30 12:59:59

+0

Это сработало, спасибо большое! я только что внесла некоторые изменения в дату, так как мне нужен третий термин «SELECT nombre, coddep, fecha_ingreso FROM empleado WHERE fecha_ingreso BETWEEN '1999-08-01' AND '1999-12-30'" – florin

+0

Я предпочитаю этот ответ на использование 'YEAR (Date)' и 'QUARTER (Date)', поскольку он может использовать индекс в столбце даты, но это работает только для столбца 'DATE', а не' DATETIME', что-то с датой '1999 -09-30 15: 00', например, будет опущено. Я был бы склонен использовать '> '1999-07-01' AND Fecha_ingreso <'1999-10-01''. Аарон Бертран обсудил свою неприязнь к использованию МЕЖДУ с Датами [здесь] (http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/what-do-between-and-the-devil-have-in -common.aspx), и я склонен согласиться с ним. – GarethD

1
SELECT nombre, coddep, fecha_ingreso 
    FROM empleado 
    WHERE YEAR(fecha_ingreso) = 1999 AND QUARTER(fecha_ingreso) = 3 
; 
Смежные вопросы