Математические функции
Эти функции применяются для чисел.
ФУНКЦИЯ
| ЗНАЧЕНИЕ
|
ABX(X)
| Абсолютное значение из X (преобразование отрицательного или положительного значений в положительное)
|
CEIL(X)
| X является десятичным значением, которое будет округляться сверху.
|
FLOOR (X)
| X является десятичным значением, которое будет округляться снизу.
|
GREATEST(X,Y)
| Возвращает большее из двух значений.
|
LEAST(X,Y)
| Возвращает меньшее из двух значений.
|
MOD(X,Y)
| Возвращает остаток от деления X на Y.
|
POWER(X,Y)
| Возвращает значение X в степени Y.
|
ROUND(X,Y)
| Цикл от X до десятичного Y. Если Y отсутствует, цикл до целого числа.
|
SING(X)
| Возвращает минус если X < 0, или плюс если X > 0.
|
SQRT(X)
| Возвращает квадратный корень из X.
|
СИМВОЛЬНЫЕ ФУНКЦИИ
Эти функции могут быть применены для строк текста, либо из столбцов текстовых типов данных, либо из строк литерных текстов, или же комбинация из этих двух.
ФУНКЦИЯ
| ЗНАЧЕНИЕ
|
LEFT(<string>,X)
| Возвращает крайние левые (старшие) символы X из строки.
|
RICHT(<string>,X)
| Возвращает символы X младшего разряда из строки
|
ASCII(<string>)
| Возвращает код ASCII которым представляется строка в памяти компьютера.
|
CHR(<ASCIIcode>)
| Возвращает принтерные символы кода ASCII.
|
VALUE(<string>)
| Возвращает математическое значение для строки. Считается что строка имеет тип CHAR или VARCHAR, но состоит из чисел. VALUE('3') произведет число 3 типа INTEGER.
|
UPPER(<string>)
| Преобразует все символы строки в символы верхнего регистра.
|
LOWER(<string>)
| Преобразует все символы строки в символы нижнего регистра.
|
INlTCAP(<string>)
| Преобразует символы строки в заглавные буквы. В некоторых реализациях может иметь название — PROPER.
|
LENGTH(<string>)
| Возвращает число символов в строке.
|
<string>||<string>
| Объединяет две строки в выводе, так чтобы после первой немедленно следовала вторая. (значек || называется оператором сцепления).
|
LPAD(<string>,X,'*')
| Дополняет строку слева звездочками '*', или любым другим указанным символом, с количестве, определяемом X.
|
RPAD(<string>,X, ")
| То же самое что и LPAD, за исключением того, что дополнение делается справа.
|
SUBSTR(<string>,X,Y)
| Извлекает Y символов из строки начиная с позиции X.
|
ФУНКЦИИ ДАТЫ И ВРЕМЕНИ
Эти функции выполняются только для допустимых значений даты или времени.
ФУНКЦИЯ
| ЗНАЧЕНИЕ
|
DAY(<date>)
| Извлекает день месяца из даты. Подобные же функции существуют для MONTH (МЕСЯЦ), YEAR (ГОД), HOUR (ЧАСЫ), SECOND (СЕКУНДЫ) и так далее.
|
WEEKDAY(<date>)
| Извлекает день недели из даты.
|
ДРУГИЕ ФУНКЦИИ
Эта функция может быть применена к любому типу данных.
ФУНКЦИЯ
| ЗНАЧЕНИЕ
|
NVL(<column>,<value>)
| NVL (NULL TO VALUE) будет меняет на значение <value> каждое NULL значение, найденное в столбце <column>. Если полученное значение <column> не =NULL, NVL ничего не делает.
|
INTERSECT и MINUS
Команда UNION, как вы уже видели в Главе 14, может объединить два запроса, объединив их вывод в один. Два других обычно имеющихся способа объединения отдельных запросов — это INTERSECT (Плюс) и MINUS (Минус). INTERSECT выводит только строки, произведенные обоими перекрестными запросами, в то время как MINUS выводит строки, которые производятся одним запросом, но не другим. Следовательно, следующие два запроса
SELECT *
FROM Salespeople
WHERE city = 'London'
INTERSECT
SELECT *
FROM Salespeople
WHERE 'London' IN (SELECT city
FROM Customers
WHERE Customers.snum = Salespeople.snum);
выведут строки, произведенные обоими запросами, производящими всех продавцов в Лондоне, которые имели, по крайней мере, одного заказчика, размещенного там также. С другой стороны, запрос
SELECT *
FROM Salespeople
WHERE city = 'London'
MINUS
SELECT *
FROM Salespeople
WHERE 'London' IN (SELECT city
FROM Customers
WHERE Customers.snum = Salespeople.snum);
удалит строки, выбранные вторым запросом из вывода первого, и таким образом, будут выведены все продавцы в Лондоне, которые не имели там заказчиков. MINUS иногда еще называют DIFFERENCE (ОТЛИЧИЕ).
Читайте также:
Воспользуйтесь поиском по сайту: