SQL стандарт в СУБД MS SQL SERVER, ORACLE, VFP И ACCESS: манипулирование данными. Семенова И.И. - 24 стр.

UptoLike

Составители: 

23
в VFP, Access:
SELECT Name, Lastname, Surname, Post, (Date() - Date_input)/365.25
FROM Staff ORDER BY Date_input
в MS SQL Server:
SELECT Name, Lastname, Surname, Post, CAST((GetDate() - Date_input)
AS Bigint)/365.25 FROM Staff ORDER BY Date_input
в Oracle:
SELECT Name, Lastname, Surname, Post, (SysDate - Date_input)/365.25
FROM ADMIN_PAY.Staff ORDER BY Date_input;
Name Lastname Surname Post Exp_5
Анна Михайловна Иванова Строитель 25.1061
Савел Игнатьевич Соянов Строитель 24.4873
Иван Васильевич Артемьев Главный инженер 6.8583
Василий Михайлович Сидоров
Начальник отдела
кадров
5.1006
Иван Петрович Иванов Бухгалтер 4.6899
Петр Аркадьевич Васильков
Специалист отдела
кадров 4.0548
Виктор Семенович Ушаков Бухгалтер 1.0897
Рис. 12. Результат запроса с вычислением
30. Вывести список сотрудников, у которых еще не было дня рождения
в текущем году, а также вывести количество дней до их дней рождения в
текущем году:
в VFP:
SET DATE TO GERMAN
&& необходима для установки даты в формате дд.мм.гг
SELECT Name, Lastname, Surname, Post, Birthday,
CTOD(str(day(Birthday))+'.'+str(month(Birthday))+'.'+str(YEAR(Date())))-
DATE() FROM Staff Where CTOD (str(day(Birthday)) + ' . ' + str
(month(Birthday)) + ' . ' + str (YEAR(Date())))-DATE()) >0
в MS SQL SERVER:
SET DATEFORMAT dmy --дата в формате дд.мм.гггг
SELECT Name, Lastname, Surname, Post, Birthday,
DATEDIFF(day, getdate(), CAST(str(day(Birthday))+ '.' +
str(month(Birthday)) + '.' +str(YEAR(GetDate())) AS datetime)) AS [Дней до
дня рождения] FROM Staff Where DATEDIFF(day, getdate(),
CAST(str(day(Birthday)) + '.' + str(month(Birthday)) + '.' +
str(YEAR(GetDate())) AS datetime))>0