Функции за дата и час
| Информационни технологии | 2009-12-04 | 171 сваляния |
4
Функции за дата и час
DATEADD(interval, number, datetime) връща дата, добавяйки интервал към зададената дата. Параметърът interval може да има една от следните стойности:
година yyyy
тримесечие q
месец m
седмица ww
ден d
час h
минута n
секунда s
пореден ден от годината y
пореден ден от седмицата w (за първи ден от седмицата се счита неделя)
Параметърът number е цяло число, определящо брой интервали (дни, месеци и т.н.). при отрицателна стойност на този параметър се връща назад от датата в datetime, а при положителна се добавя към нея. Параметърът datetime определя датата, към която ще се добавя или връща интервал. Ако е константа, трябва да се огради с диези; може да е колона от таблица, оградена при необходимост с []. Например DATEADD("d", 30, #01/01/2004#) връща датата 31 януари 2004 г.
DATEDIFF(interval, datetime1, datetime2) връща цяло число, означаващо разликата между две дати. Възможните стойности на параметъра interval са същите, както при DATEADD. Резултатът от функцията е число, което е положително, ако datetime1 е преди datetime2; отрицателно, ако datetime2 е преди datetime1; 0, ако двете дати съвпадат (по отношение на зададения интервал).
DATEPART(interval, datetime) връща цяло число, представящо зададената чрез interval чрез интервал част от дата. Например DATEPART("d", #18/06/1999#) връща 18; DATEPART("m", #18/06/1999#) връща 6 и т.н.
DATE() връща текущата дата. Например DATEADD("d", -1, DATE()) връща вчерашната дата.
NOW() връща текущата дата и час.
DATEVALUE(datetime) връща датата при съхраняване на дата и час, т.е. отделя само частта за датата.
TIMEVALUE(datetime) връща часа при съхраняване на дата и час, т.е. отделя само частта за часа.
DATESERIAL(year, month, day) връща дата, като използва стойностите. Например DATESERIAL(1999, 6, 18) връща датата 18.6.1999г.
Задачи
Задача 1. Да се напише заявка, която да изведе идентификатор на служител и брой на осъществените продажби от съответния служител:
-
за текущата дата;
-
за вчерашна дата.
Решение:
-
SELECT EmployeeID, COUNT(*) AS [Count of sales]
FROM Sales
WHERE DATEDIFF("d", SaleDate, DATE()) = 0
GROUP BY EmployeeID;
Тагове от реферата: ункции











