Форум: "Базы";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
Внизсравнение даты с текущей Найти похожие ветки
← →
diwww (2005-08-16 15:19) [0]В базе есть поле "дата окончания". В клиентском приложении при просмотре записи если "дата окончания" < текущей даты, то надо выводить особую отметку. Вопрос в том как реализовать это сравнение? Есть несколько идей: сделать доп. вычисляемое поле в бд, сделать вьюшку, сравнивать даты в клиентском приложении в момент промотра. Каким способом лучше делать это? Даже просто интересно, как полагается поступать в таких случаях?
субд -- mssql server 2000
← →
Nikolay M. © (2005-08-16 15:38) [1]
> Вопрос в том как реализовать это сравнение?
Например, с помощью знака "меньше" ("<"), примененному с умом в SQL-запросе.
Но в любом случае делать это на сервере, т.к. время на клиентском компьютере может быть выставлено любым.
← →
Fay © (2005-08-16 15:56) [2]2 diwww (16.08.05 15:19)
Пример для базы PUBSset nocount on
declare @dt datetime
select @dt = DateAdd(day, DateDiff(day, "", GetDate()), "")
-- Или просто select @dt = GetDate(), если нужно со временем
select
stor_id, ord_num,
ord_date,
qty,
payterms,
title_id,
YourField = case when ord_date < @dt then 1 else 0 end
from sales
← →
Плохиш © (2005-08-16 16:12) [3]
> Nikolay M. © (16.08.05 15:38) [1]
> Но в любом случае делать это на сервере, т.к. время на клиентском
> компьютере может быть выставлено любым.
Это следует понимать, что время на сервере не может быть выставлено любым?
> diwww (16.08.05 15:19)
> Даже просто интересно, как полагается поступать в таких
> случаях?
У нас демократия, официальных предписаний утверждённых ООН на этот случай нет.
← →
Nikolay M. © (2005-08-16 16:47) [4]
> Плохиш © (16.08.05 16:12) [3]
> Это следует понимать, что время на сервере не может быть
> выставлено любым?
Если это действительно Сервер и у него есть Админ - да, не может :)
← →
Deniz © (2005-08-17 06:10) [5]>Nikolay M. © (16.08.05 16:47) [4]
И даже если может, все клиенты работают с одной датой(серверной)
← →
Nikolay M. © (2005-08-17 10:12) [6]
> Deniz © (17.08.05 06:10) [5]
> И даже если может, все клиенты работают с одной датой(серверной)
Унификация - это, конечно, хорошо, но попробуй это объяснить менеджеру, который продал товар со склада в минус, потому что на сервере некстати произошел переход на зимнее время.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c