2013-09-12 2 views
1

У меня есть таблица элементов с столбцом 'date_added'. Я хочу, чтобы выбрать все элементы, добавленные в течение последних двух недель. Как я могу это сделать? Спасибо за ответ!SQL Query Сравнение даты

$sql = "SELECT * 
      FROM iteminfo 
      WHERE quantity > 0 
      ORDER BY ID ASC"; 
// $query = mysql_query($sql); 
+0

Вы что-то пробовали? Поместите некоторый код, так что это не сайт «сделай это для меня». – Yaroslav

+1

Yup. Но я просто показал его в соответствии с его идентификатором, потому что у меня нет идеи, когда дело доходит до времени. Вот он: $ sql = "SELECT * FROM iteminfo WHERE quantity> 0 ORDER BY ID ASC"; // $ query = mysql_query ($ sql); –

+0

Вы должны добавить код в свой вопрос, нажать «изменить» и добавить туда свой код. Не забудьте также форматировать код, так что это может быть понятнее – Yaroslav

ответ

1

Если вы используете MS SQL Server попробуйте этот код:

SELECT tb.date_added 
    FROM MyTable tb 
WHERE tb.date_added > DATEADD(week, -2, GETDATE()) 

Для MySQL попробовать:

SELECT tb.date_added 
    FROM MyTable tb 
WHERE DATE_ADD(tb.date_added, INTERVAL 2 WEEK) >= NOW(); 
+1

Спасибо, сэр! Я ценю это –

+0

Добро пожаловать. Если некоторые из приведенных ответов были полезны, отметьте зеленый флажок «Ответ», чтобы другие знали, что на вопрос был дан ответ, и который был правильным или полезным ответом. Тем не менее, в следующий раз выполните поиск либо в предпочитаемой поисковой системе, либо здесь, в SO, вы найдете множество ответов по многим темам, например, http://stackoverflow.com/search?tab=votes&q=sql%20date%20week – Yaroslav

0

Попробуйте это (для MySQL):

SELECT * FROM table WHERE DATE_ADD(date_added, INTERVAL 2 WEEK) >= NOW(); 
+1

Thankyou Sir Alex! –

0

уступи идти:

SELECT * 
FROM yourTable 
WHERE Date_Added >= DATEADD(week, -2, GETDATE()) 
+0

Thankyou Sir Jack :) –

0

Простейшее будет.

Где [Yourdatecolumn] < = GETDATE() и [Yourdatecolumn] < = DATEADD (ДД, -13, GETDATE())

Другим вариантом было бы

ГДЕ DATEDIFF (ДД, [Yourdatecolumn] , GETDATE()) IS BETWEEN 0 и 13

0

Вот код, который вы хотите!

select item from itemTable where date_added >= ADDDATE(NOW(), INTERVAL - 14 DAY); 

Cheers !!!

+0

Спасибо, сэр! Бог благословил! –

+0

Добро пожаловать! :) – Amit

0

В основном это зависит от базы данных, но вы можете попробовать что-то вроде этого:

select * from table where date_added > getdate()-14 
Смежные вопросы