Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Текущая дата минус другая дата  [new]
Raze
Member

Откуда:
Сообщений: 34
Доброй ночи всем, помогите пожалуйста...
в таблице ест поле ddm
нужно от текущей даты отнять поле ddm, которое содержит в себе другую дату

select getdate() - b.ddm
from brak b


например в поле dmm указана дата 17.11.2020, но конечным результатом выдает 1990.06.13
20 ноя 20, 00:58    [22235803]     Ответить | Цитировать Сообщить модератору
 Re: Текущая дата минус другая дата  [new]
court
Member

Откуда:
Сообщений: 2162
Raze
например в поле dmm указана дата 17.11.2020, но конечным результатом выдает 1990.06.13
а что должна выдать эта "операция" ?
К-во дней ? или лет ? или часов ? или секунд, между двумя датами ?

... вот как определитесь, - ходите по ссылке - DATEDIFF
20 ноя 20, 01:21    [22235809]     Ответить | Цитировать Сообщить модератору
 Re: Текущая дата минус другая дата  [new]
fkthat
Member

Откуда:
Сообщений: 3894
Что значит "отнять дату от даты"?
20 ноя 20, 01:26    [22235810]     Ответить | Цитировать Сообщить модератору
 Re: Текущая дата минус другая дата  [new]
t0rbinz
Member

Откуда:
Сообщений: 1
drop table if exists #brak
create table #brak (id int,  ddm date)
insert into #brak values (1, '2020-10-20'),(2, '2020-11-19')
select 
	id
	, ddm
	, delta_d = datediff( day, ddm, cast( getdate() as date ) )
from 
	#brak 


Сообщение было отредактировано: 20 ноя 20, 05:59
20 ноя 20, 06:02    [22235836]     Ответить | Цитировать Сообщить модератору
 Re: Текущая дата минус другая дата  [new]
Raze
Member

Откуда:
Сообщений: 34
fkthat, от текущей даты отнять дату указанную в поле ddm, т.е. как в примере, от 20.11.2020 - 17.11.20 получаем разницу дней
20 ноя 20, 07:17    [22235840]     Ответить | Цитировать Сообщить модератору
 Re: Текущая дата минус другая дата  [new]
Raze
Member

Откуда:
Сообщений: 34
court, datediff смотрел уже))
просто дело в том, в поле ddm может быть любая дата, а не конкретно та, которую указал
в целом ведь функция вычисляет между двух явно заданных дат или не?
20 ноя 20, 07:21    [22235842]     Ответить | Цитировать Сообщить модератору
 Re: Текущая дата минус другая дата  [new]
Oleg_SQL
Member

Откуда: от туда
Сообщений: 52
Raze
в целом ведь функция вычисляет между двух явно заданных дат или не?


"Явно заданные даты" могут быть
1. Константой '20201120'
2. Переменной @dt DATE/DATETIME
3. Полем из таблицы
4. Значением из ф-ии

Сообщение было отредактировано: 20 ноя 20, 09:21
20 ноя 20, 09:25    [22235869]     Ответить | Цитировать Сообщить модератору
 Re: Текущая дата минус другая дата  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31606
Raze
в целом ведь функция вычисляет между двух явно заданных дат или не?
Не, таких функций в сиквеле не бывает.
Даже оператор "минус" может вычислять разницу не только между двумя числами, которые явно задал :-)
20 ноя 20, 20:48    [22236225]     Ответить | Цитировать Сообщить модератору
 Re: Текущая дата минус другая дата  [new]
Raze
Member

Откуда:
Сообщений: 34
Я понял, всем спасибо за помощь, смог разобраться с помощью подсказок Ваших)
В общем конечным итого получилось вот так:
select top 1 DATEDIFF(dd, GETDATE(), dms.ddm), getdate(), dms.ddm
from _BRAKS_A f
inner join dms
	on f.KPRT_DB = dms.KPRT and f.KMAT = dms.KMAT
where f.kmat = 'PЮ0000000000024' 
21 ноя 20, 10:47    [22236343]     Ответить | Цитировать Сообщить модератору
 Re: Текущая дата минус другая дата  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8052
Raze,

"разница двух дат" это бытовое понятие. На самом деле человек имеет в виду количество дней, прошедших между первой названной датой и второй. В более широком смысле можно задать любые интервалы времени - часы, недели, секунды, кварталы.
21 ноя 20, 11:48    [22236353]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить