Два метода:
1:
var a = new Date()
// no_of_days is an integer value
var b = new Date(a.setTime(a.getTime() + no_of_days * 86400000)
2: Как и в предыдущем методе
var a = new Date()
// no_of_days is an integer value
var b = new Date(a.setDate(a.getDate() + no_of_days)
select distinct
- это оператор, который гарантирует, что в результирующем наборе нет повторяющихся строк . То есть он отфильтровывает строки, в которых каждый столбец одинаков (а значения NULL
считаются равными).
Он не смотрит на подмножество столбцов.
Иногда люди используют select distinct
и не понимают, что это относится ко всем столбцам. Довольно забавно, когда первый столбец в круглых скобках - как будто круглые скобки имеют значение (они этого не делают).
Тогда у вас могут возникнуть ситуации, когда значения выглядят одинаково, но это не так.
Рассмотрим этот простой пример, где значения отличаются только пробелом в качестве конца строки:
select distinct x
from (select 'a' as x union all
select 'a '
) y;
Здесь - это скрипта db <> с этим примером.
Это возвращает две строки, а не 1.
Без примеров данных трудно сказать, на какую из этих ситуаций вы ссылаетесь. Но строки, которые вы считаете «идентичными», на самом деле не совпадают.