2014-10-30 5 views
0
Select projectname 
from project 
where to_char(start_date, 'yyyy-mm-dd') - to_char(end_date, 'yyyy-mm-dd') <= 10; 

Привет, поэтому я хочу, чтобы получить проект, который имеет длину меньше или равно 10 дней, я новичок в SQL, не уверен, если я делаю это правильно или нет.Проверка даты менее или равные 10 дней

+1

Возможный дубликат [SQL SERVER: Получить общие дни между двумя датами] (http://stackoverflow.com/questions/6068017/sql-server-get-total-days-between-two-dates) –

+0

Я вижу, Извините, могу я задать еще один вопрос здесь, Что делать, если я хочу получить между 10-40 днями. – user2786596

+0

Пожалуйста, проверьте, что я ответил на этот вопрос –

ответ

1

вам просто нужно изменить следующую вещь в вашем кодексе

Select 
    projectname 
FROM 
     project 
WHERE 
     DATEDIFF(DAY,start_date,end_date) <= 10; 

в течение нескольких дней от 10 до 40 раз изменить код

DATEDIFF(DAY,start_date,end_date) <= 10 AND DATEDIFF(DAY,start_date,end_date) >= 40; 
0

Это не будет работать, например,

20150101 - 20141231 = 8870! 

Итак, как уже говорили другие, выполнять арифметические дату на даты объектов, а затем сравните число.

Смежные вопросы