Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
15.04.2015
Размер:
3.4 Mб
Скачать

DATEDIFF(datepart, startdate, enddate)

- возвращает разницу между указанными частями двух дат. Например, можно подсчитать количество дней (недель, месяцев и т. д.), прошедших между двумя датами. Форматы для обозначения частей дат соответствуют форматам для функции

DATEADD.

Функции даты и времени Transact-SQL

32

Примеры использования функций для работы с датой и временем

(используются ограниченные идентификаторы, так как в качестве имен возвращаемых столбцов взяты

зарезервированные слова; хотя Year тоже «работает»33 )

Простейший способ получить только дату, «обрезав» время, - использовать несколько функций:

Если значения часов, минут, секунд в БД не хранятся и не используются, то рекомендуется автоматически «обрезать» их при вводе соответствующих данных в БД с помощью триггеров. В результате значения даты хранятся в виде текста. Но при этом теряется возможность обработки дат,

используя функции для работы с датой и34временем.

Функции конфигурирования - возвращают

параметры, связанные с конфигурированием SQL Server. Имена этих функций начинаются с символов @@.

Примеры некоторых из этих функций:

@@CONNECTIONS - возвращает количество попыток (как успешных, так и нет) установить соединение с локальным сервером SQL Server со времени его последнего запуска. Пользователи не могут изменять значение,

возвращаемое этой функцией.

35

@@LANGUAGE – показывает, какой язык является текущим.

36

@@LOCK_TIMEOUT - возвращает количество миллисекунд, которое сервер будет ожидать выполнения запроса. Для каждого подключения можно задать свое время ожидания, по истечении

которого выполнение запроса прерывается. Значение по умолчанию -1, что соответствует

бесконечному ожиданию. В этом случае возможны

«мертвые» блокировки, когда две транзакции будут

ожидать завершения друг друга. Для установки нового периода ожидания используется команда

SET LOCK_TIMEOUT.

@@MAX_CONNECTIONS - возвращает

максимальное разрешенное количество

одновременных подключений, которые могут установить пользователи. Для изменения этого значения используется системная хранимая процедура sp_configure ''user connections''.

@@VERSION - возвращает информацию о дате, версии и типе процессора локальной копии SQL Server.

@@ERROR - возвращает код последней ошибки, произошедшей в текущем соединении.

Функции системы безопасности

- с их помощью можно получить информацию о пользователях БД и о членстве их в фиксированных и пользовательских ролях БД и сервера.

Рассмотрим некоторые из этих функций.

IS_MEMBER({''группа'' | ''роль''})

С помощью этой функции можно проверить,

является ли текущий пользователь членом указанной роли БД SQL Server или группы ОС Windows. Если является, то функция возвращает значение 1, иначе - 0. Если указано некорректное имя группы или роли, то возвращается значение NULL.

40

41

Соседние файлы в папке ИПК_Занятия_ОПБД