Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Топовые новости
Новое

Арифметика дат

Арифметика датАрифметика дат довольно запутанная. В Oracle широко используют арифметические операторы для манипуляций с датами, в то же время в Microsoft SQL Server для этих целей используют специальные функции. Ниже приведен пример арифметической операции с датами в Oracle. В первом запросе к заданной дате добавляется определенное количество дней; сама дата может извлекаться из таблицы. Для добавления двух часов можно использовать следующую операцию. Естественно, те же манипуляции можно применить и к другим операторам (если операнды совместимых типов). К примеру, нельзя умножать и делить даты — допускается только их сложение и вычитание. К обычным числовым типам применимы все арифметические операторы. К примеру, для вычисления размера налога с продаж (скажем, 8,5%) в базе данных ACME можно использовать представление V_CUSTOMER_TOTALS. Оператор деления по модулю (%) вычисляет целочисленный остаток от деления. Этот оператор специфичен для Microsoft SQL Server; в Oracle и DB2 для тех же целей применяют функцию MOD. В следующем запросе вычисляется остаток от деления 5 на 3. Идентичная операция в Oracle и DB2 выглядит следующим образом. использовать неопределенные значения null (например, запрос select sysdate + null from dual в результате дает null). Важно понимать, что любая операция с неопределенным значением всегда дает в результате также null, независимо от того, каков другой операнд. В Oracle из этого правила исключается оператор конкатенации (т. е. ‘STRING’ || null = ‘null’); в то же время в DB2 не допускается использование неопределенных значений в контексте всех операторов.