Заглавието на въпроса включва „SQL plus“, което за мен предполага Oracle.
Oracle няма функция DATEDIFF. Най-простият метод за определяне на броя на дните между 2 дати с помощта на Oracle е да се извади една дата от другата.
Select item, datebought, datesold, datesold-datebought as days from auctions;
Oracle съхранява информация за дата и час в поле за дата. Обичайна практика е да съхранявате дати, съкратени до полунощ, в полетата за дати в Oracle, ако не ви интересува часът.
Ако вашите дати вече са съкратени до полунощ, тогава изчислената стойност ще бъде цяло число.
Но ако вашите съхранени дати включват информация за времето, тогава може да искате да съкратите стойността, за да получите интегрална стойност. Подозирам, че бихте искали да съкратите всяка дата преди изваждането, така че ако бъде закупено на един ден, всеки момент от следващия ден да се счита за 1 ден. Oracle съкращава датите до полунощ.
select item, datebought, datesold, trunc(datesold)-trunc(datebought) as days from auctions;
Съгласен съм с WarrenT, че вашата таблица не трябва да има колоната денормализирани дни.