Шаг 68 - PL/SQL - встроенные функции, часть 4

Продолжаем наше справочное руководство! Благо оно нам пригодится и иметь его не помешает!

SET SERVEROUTPUT ON

BEGIN

	-- Function  ATAN() TAN() --
	DBMS_OUTPUT.put_line('35*-> '||TO_CHAR(ATAN(0.32))||' '||TO_CHAR(TAN(-43 * 3.14159)));

	-- Function  CEIL() --
	DBMS_OUTPUT.put_line('36*-> '||TO_CHAR(CEIL(17.134))||' '||TO_CHAR(CEIL(-17.134)));

	-- Function  COS() SIN() --
	DBMS_OUTPUT.put_line('37*-> '||TO_CHAR(COS(90))||' '||TO_CHAR(SIN(60)));

	-- Function  EXP() --
	DBMS_OUTPUT.put_line('38*-> '||TO_CHAR(EXP(1))||' '||TO_CHAR(EXP(3.456)));

	-- Function  LN() LOG() --
	DBMS_OUTPUT.put_line('39*-> '||TO_CHAR(LN(100))||' '||TO_CHAR(LOG(5, 31))||' '||TO_CHAR(LOG(2, 12)));

	-- Function  MOD() --
	DBMS_OUTPUT.put_line('40*-> '||TO_CHAR(MOD(34, 8))||' '||TO_CHAR(MOD(45, 7)));
  
	-- Function  POWER() --
	DBMS_OUTPUT.put_line('41*-> '||TO_CHAR(POWER(8, 4))||' '||TO_CHAR(POWER(65, -7)));

	-- Function  ROUND() --
	DBMS_OUTPUT.put_line('42*-> '||TO_CHAR(ROUND(2.57))||' '||TO_CHAR(ROUND(3.678, 1))||' '||TO_CHAR(ROUND(14.8, -2)));

	-- Function  SIGN() --
	DBMS_OUTPUT.put_line('43*-> '||TO_CHAR(SIGN(-4))||' '||TO_CHAR(SIGN(0))||' '||TO_CHAR(SIGN(6)));

	-- Function  SQRT() --
	DBMS_OUTPUT.put_line('44*-> '||TO_CHAR(SQRT(98))||' '||TO_CHAR(SQRT(9)));

	-- Function  TRUNC() --
	DBMS_OUTPUT.put_line('45*-> '||TO_CHAR(TRUNC(-123.456))||' '||TO_CHAR(TRUNC(123.456,1))||' '||TO_CHAR(TRUNC(123.456, -1)));

  END;
/

Получаем после запуска:

SQL> SET SERVEROUTPUT ON
SQL>
SQL> BEGIN
  2  
  3  	-- Function  ATAN() TAN() --
  4  	DBMS_OUTPUT.put_line('35*-> '||TO_CHAR(ATAN(0.32))||' '||TO_CHAR(TAN(-43 * 3.14159)));
  5  
  6  	-- Function  CEIL() --
  7  	DBMS_OUTPUT.put_line('36*-> '||TO_CHAR(CEIL(17.134))||' '||TO_CHAR(CEIL(-17.134)));
  8  
  9  	-- Function  COS() SIN() --
 10  	DBMS_OUTPUT.put_line('37*-> '||TO_CHAR(COS(90))||' '||TO_CHAR(SIN(60)));
 11  
 12  	-- Function  EXP() --
 13  	DBMS_OUTPUT.put_line('38*-> '||TO_CHAR(EXP(1))||' '||TO_CHAR(EXP(3.456)));
 14  
 15  	-- Function  LN() LOG() --
 16  	DBMS_OUTPUT.put_line('39*-> '||TO_CHAR(LN(100))||' '||TO_CHAR(LOG(5, 31))||' '||TO_CHAR(LOG(2, 12)));
 17  
 18  	-- Function  MOD() --
 19  	DBMS_OUTPUT.put_line('40*-> '||TO_CHAR(MOD(34, 8))||' '||TO_CHAR(MOD(45, 7)));
 20  
 21  	-- Function  POWER() --
 22  	DBMS_OUTPUT.put_line('41*-> '||TO_CHAR(POWER(8, 4))||' '||TO_CHAR(POWER(65, -7)));
 23  
 24  	-- Function  ROUND() --
 25  	DBMS_OUTPUT.put_line('42*-> '||TO_CHAR(ROUND(2.57))||' '||TO_CHAR(ROUND(3.678, 1))||' '||TO_CHAR(ROUND(14.8, -2)));
 26  
 27  	-- Function  SIGN() --
 28  	DBMS_OUTPUT.put_line('43*-> '||TO_CHAR(SIGN(-4))||' '||TO_CHAR(SIGN(0))||' '||TO_CHAR(SIGN(6)));
 29  
 30  	-- Function  SQRT() --
 31  	DBMS_OUTPUT.put_line('44*-> '||TO_CHAR(SQRT(98))||' '||TO_CHAR(SQRT(9)));
 32  
 33  	-- Function  TRUNC() --
 34  	DBMS_OUTPUT.put_line('45*-> '||TO_CHAR(TRUNC(-123.456))||' '||TO_CHAR(TRUNC(123.456,1))||' '||TO_CHAR(TRUNC(123.456, -1)));
 35  
 36  END;
 37  /
35*-> ,3097029445424561999173808103924156700914 ,000114104361604459415200698613184275542783
36*-> 18 -17
37*-> -,44807361612917015236547731439963950742 -,30481062110221670562564946547842584078
38*-> 2,71828182845904523536028747135266249776 31,68996280537916473883871110045120692647
39*-> 4,6051701859880913680359829093687284152 2,13365621497732264414203154309561510056 3,58496250072115618145373894394781650873
40*-> 2 3
41*-> 4096 ,000000000000203988884709418710246172033037848527959
42*-> 3 3,7 0
43*-> -1 0 1
44*-> 9,89949493661166534161182106946788654999 3
45*-> -123 123,4 120

Процедура PL/SQL успешно завершена.
ATAN(х) TAN(х)
Возвращает арктангенс и тангенс х соответственно. Пример 35*.
CEIL(х)
Возвращает наименьшее целое число, большее или равное х. Пример 36*.
COS(х) SIN(х)
Возвращает косинус и синус х соответственно. Пример 37*.
EXP(х)
Возвращает e в степени х, где e = (2,718281828 основание натурального логарифма). Пример 38*.
LN(х)
Возвращает натуральный логарифм х, Пример 39*.
LOG(y, x)
Возвращает логарифм y по основанию х. Основание должно быть положительным числом, отличным от 0 или 1, а y может быть любым положительным числом. Пример 39*.
MOD(x, y)
Возвращает остаток от деления х нацело на y. Если y равно 0, то возвращается x. Пример 40*.
POWER(x, y)
Возвращает x в степени y. Основание x и порядок y могут быть не положительными целыми числами, но если x - отрицательное число, то y должен быть целым числом. Пример 41*.
ROUND(x, [,y])
Возвращает х округленное до y разрядов справа от десятичной точки. Значением по умолчанию для y является 0, при этом x округляется до ближайшего целого числа. Если y - отрицательное число, то округляются цифры слева от десятичной точки. y должен быть целым числом. Пример 42*.
SIGN(x)
Если x < 0 возвращает -1, x = 0 возвращает 0, x > 0 возвращает 1. Пример 43*.
SQRT(x)
Возвращает квадратный корень х. Значение x не может быть отрицательным! Пример 44*.
TRUNC(x, [,y])
Возвращает x усеченное (не округленное !) до y десятичных разрядов. Значением по умолчанию, для y является 0, при этом x усекается до целого числа. Если y отрицательно, то усекаются цифры слева от десятичной точки. Пример 45*.

С числовыми функциями пока все, далее продолжим. Пробуйте! :)


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Летучий Сергей - 16.11.2003