рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

изучение основных встроенных функций, системных переменных и выражений языка PL/SQL

изучение основных встроенных функций, системных переменных и выражений языка PL/SQL - раздел Программирование, Лабораторная Работа №3 ...

Лабораторная работа №3

По курсу СУБД ORACLE

Введение

Данная лабораторная работа ориентированна на изучение основных встроенных функций, системных переменных и выражений языка PL/SQL:

1. Системные переменные:

– SYSDATE – текущая дата и время

– USER – имя текущего пользователя

– USERENV – значения системных параметров

2. Числовые функции

– ROUND – округление до заданного числа знаков после запятой

– TRUNC – отсечение до заданного числа знаков после запятой

– FLOOR – ближайшее целое, не превышающее value

– CEIL – ближайшее целое, не меньшее чем value

3. Математические функции

– ABS – модуль числа (абсолютная величина)

– SQRT – квадратный корень

– MOD – деление по модулю

– SIN, COS, TAN, ASIN, ACOS, ATAN, SINH, COSH, TANH – основные тригонометрические функции

– EXP – экспонента

– LOG(base, x), LN(x) – логарифмы

– POWER – степень

4. Текстовые функции

– UPPER – преобразовать строку к верхнему регистру

– LOWER – преобразовать строку к нижнему регистру

– INITCAP – преобразовать первые буквы слов к верхнему регистру

– LENGTH – длина строки символов

– SUBSTR – извлечь подстроку из строки

– INSTR – поиск подстроки в строке

– LTRIM – отсечение ведущих символов из набора

– RTRIM – отсечение концевых символов из набора

– TRIM – отсечение заданного символа

– REPLACE – замена символов в строке

– CONCAT – сцепление двух строк

5. Функции работы с данными типа DATE

– ROUND - округление даты

– TRUNC – отсечение информации о времени дня из даты

– ADD_MONTHS – добавить заданное число месяцев к дате

– LAST_DAY – получить последний день месяца указанной даты

– MONTHS_BETWEEN – число месяцев между датами

– EXTRACT – извлечь часть даты

6. Функции преобразования данных

– TO_CHAR - преобразовать выражение к строке

– TO_DATE - преобразовать выражение к типу дата

– TO_NUMBER - преобразовать выражение к типу число

– CAST - преобразование типов выражений

7. Специальные функции и выражения

– CASE – сравнение выражения с набором значений

– DECODE – сравнение выражения с набором значений

– NVL – замена NULL значения на заданную величину

– NVL2 – проверка на NULL и возврат заданного значения

– COALESCE – возврат первого не NULL значения в списке

Задание

1. Системные переменные:

– вывести на экран текущую дату, имя текущего пользователя и имя компьютера

2. Числовые функции:

– выполнить округление числа 3276.53 до 3276.50 и 3300.00

– выполнить отсечение числа 3276.53 до 3276.00 и 3000.00

– найти целые числа между которыми заключен результат выражения 5.32*<текущее число месяца>

3. Математические функции:

– вычислить результат выражения:

4. Текстовые функции

– Преобразовать строку ‘test string FOR CONVERSION’ к виду ‘Test String For Conversion’ используя функции преобразования регистра

– Преобразовать строку ‘*_abcd 1234567890 efgh_*’ к виду ‘12345abcdefgh67890’ используя функции отсечения, извлечения и конкатенации строк

– Преобразовать строку ‘20/12/2004’ в ’20.12.2004’

8. Функции работы с данными типа DATE

– Вывести дату последнего дня текущего месяца (использовать функцию SYSDATE)

– Вычислить число месяцев между последним днем текущего месяца и 1 января 2010 года

– Вычислить число дней до конца года

9. Функции преобразования данных

– Дана строка ’(50 plus 90) divided by 10’ используя текстовые функции и функции преобразования данных вычислить ее результат в виде числа

 

Примеры

--

SQL> -- СОЗДАНИЕ ТАБЛИЦЫ

SQL> --

SQL> DROP TABLE test_3;

DROP TABLE test_3

*

ERROR at line 1:

ORA-00942: table or view does not exist

 

 

SQL> CREATE TABLE test_3 (

2 string_value VARCHAR2(20),

3 number_value NUMBER(6,2),

4 symbol_value CHAR(1),

5 date_value DATE );

 

Table created.

 

SQL>

SQL> -- ВСТАВКА ДАННЫХ

SQL> INSERT INTO test_3 VALUES ('AbcdeF', 1234.56, 'Z', '2004-01-12');

 

1 row created.

 

SQL> INSERT INTO test_3 VALUES ('fEDCBa', 6543.21, 'A', '2004-10-04');

 

1 row created.

 

SQL> INSERT INTO test_3 VALUES ('xyz. abc', 99.99, 'X', '2004-12-31');

 

1 row created.

 

SQL>

SQL> --

SQL> -- ИСПОЛЬЗОВАНИЕ СИСТЕМНЫХ ПЕРЕМЕННЫХ

SQL> --

SQL> SELECT 'Current date:' || SYSDATE FROM DUAL;

 

'CURRENTDATE:'||SYSDATE

-----------------------

Current date:2004-07-24

 

SQL> SELECT 'User name:' || USER FROM DUAL;

 

'USERNAME:'||USER

----------------------------------------

User name:SYSTEM

 

SQL> SELECT 'User environment parameter:' || USERENV('TERMINAL') FROM DUAL;

 

'USERENVIRONMENTPARAMETER:'||USERENV(`TERMI

-------------------------------------------

User environment parameter:NTSRV

 

SQL> --

SQL> -- ИСПОЛЬЗОВАНИЕ ЧИСЛОВЫХ ФУНКЦИЙ

SQL> --

SQL>

SQL> -- округление числа ROUND(числовое выражение, колическов знаков после запятой)

SQL> SELECT ROUND(1234.5678, 4) FROM DUAL;

 

ROUND(1234.5678,4)

------------------

1234.5678

 

SQL> SELECT ROUND(1234.5678, 3) FROM DUAL;

 

ROUND(1234.5678,3)

------------------

1234.568

 

SQL> SELECT ROUND(1234.5678, 2) FROM DUAL;

 

ROUND(1234.5678,2)

------------------

1234.57

 

SQL> SELECT ROUND(1234.5678, 1) FROM DUAL;

 

ROUND(1234.5678,1)

------------------

1234.6

 

SQL> SELECT ROUND(1234.5678, 0) FROM DUAL;

 

ROUND(1234.5678,0)

------------------

 

SQL> SELECT ROUND(1234.5678,-1) FROM DUAL;

 

ROUND(1234.5678,-1)

-------------------

 

SQL> SELECT ROUND(1234.5678,-2) FROM DUAL;

 

ROUND(1234.5678,-2)

-------------------

 

SQL> SELECT ROUND(1234.5678,-3) FROM DUAL;

 

ROUND(1234.5678,-3)

-------------------

 

SQL> SELECT ROUND(1234.5678,-4) FROM DUAL;

 

ROUND(1234.5678,-4)

-------------------

 

SQL>

SQL> -- отсечение числа TRUNC(числовое выражение, колическов знаков после запятой)

SQL> SELECT TRUNC(1234.5678, 4) FROM DUAL;

 

TRUNC(1234.5678,4)

------------------

1234.5678

 

SQL> SELECT TRUNC(1234.5678, 3) FROM DUAL;

 

TRUNC(1234.5678,3)

------------------

1234.567

 

SQL> SELECT TRUNC(1234.5678, 2) FROM DUAL;

 

TRUNC(1234.5678,2)

------------------

1234.56

 

SQL> SELECT TRUNC(1234.5678, 1) FROM DUAL;

 

TRUNC(1234.5678,1)

------------------

1234.5

 

SQL> SELECT TRUNC(1234.5678, 0) FROM DUAL;

 

TRUNC(1234.5678,0)

------------------

 

SQL> SELECT TRUNC(1234.5678,-1) FROM DUAL;

 

TRUNC(1234.5678,-1)

-------------------

 

SQL> SELECT TRUNC(1234.5678,-2) FROM DUAL;

 

TRUNC(1234.5678,-2)

-------------------

 

SQL> SELECT TRUNC(1234.5678,-3) FROM DUAL;

 

TRUNC(1234.5678,-3)

-------------------

 

SQL> SELECT TRUNC(1234.5678,-4) FROM DUAL;

 

TRUNC(1234.5678,-4)

-------------------

 

SQL> -- FLOOR(value) ближайшее целое, не превышающее value

SQL> SELECT FLOOR(100), FLOOR(100.5), FLOOR(99.1), FLOOR(99.5) FROM DUAL;

 

FLOOR(100) FLOOR(100.5) FLOOR(99.1) FLOOR(99.5)

---------- ------------ ----------- -----------

100 100 99 99

 

SQL>

SQL> -- CEIL(value) - ближайшее целое, не меньшее чем value

SQL> SELECT CEIL(100), CEIL(100.5), CEIL(99.1), CEIL(99.5) FROM DUAL;

 

CEIL(100) CEIL(100.5) CEIL(99.1) CEIL(99.5)

---------- ----------- ---------- ----------

100 101 100 100

 

SQL>

SQL>

SQL> --

SQL> -- ИСПОЛЬЗОВАНИЕ МАТЕМАТИЧЕСКИХ ФУНКЦИЙ

SQL> --

SQL> SELECT -10, +10, ABS(-1), ABS(10) FROM DUAL;

 

-10 +10 ABS(-1) ABS(10)

---------- ---------- ---------- ----------

-10 10 1 10

 

SQL> SELECT 4, SQRT(4) FROM DUAL;

 

4 SQRT(4)

---------- ----------

4 2

 

SQL> SELECT SIN(1), COS(1), ASIN(0), ACOS(0) FROM DUAL;

 

SIN(1) COS(1) ASIN(0) ACOS(0)

---------- ---------- ---------- ----------

.841470985 .540302306 0 1.57079633

 

SQL> SELECT EXP(LOG(10, 10)) FROM DUAL;

 

EXP(LOG(10,10))

---------------

2.71828183

 

SQL> SELECT POWER(2,3) + SQRT(4) FROM DUAL;

 

POWER(2,3)+SQRT(4)

------------------

 

SQL> SELECT MOD(5,3) FROM DUAL;

 

MOD(5,3)

----------

 

SQL> SELECT SQRT( POWER(number_value, 2)) FROM test_3;

 

SQRT(POWER(NUMBER_VALUE,2))

---------------------------

1234.56

6543.21

99.99

 

SQL> --

SQL> -- ТЕКСТОВЫЕ ФУНКЦИИ

SQL> --

SQL>

SQL> -- преобразование регистра текстовой строки

SQL> SELECT string_value,

2 UPPER(string_value) "Upper case",

3 LOWER(string_value) "Lower case"

4 FROM test_3;

 

STRING_VALUE Upper case Lower case

-------------------- -------------------- --------------------

AbcdeF ABCDEF abcdef

fEDCBa FEDCBA fedcba

xyz. abc XYZ. ABC xyz. abc

 

SQL>

SQL> -- преобразование регистра букв слов

SQL> SELECT string_value, INITCAP(string_value) "Initial capital" FROM test_3;

 

STRING_VALUE Initial capital

-------------------- --------------------

AbcdeF Abcdef

fEDCBa Fedcba

xyz. abc Xyz. Abc

 

SQL>

SQL> -- вычисление длины строки

SQL> SELECT string_value, LENGTH(string_value) "String length" FROM test_3;

 

STRING_VALUE String length

-------------------- -------------

AbcdeF 6

fEDCBa 6

xyz. abc 8

 

SQL>

SQL> -- извлечение подстроки SUBSTR(строка, начальный индекс, длина)

SQL> -- (начальный симовол имеет индекс = 1, отрицальный индекс означает

SQL> -- отсчет позиции с конца строки)

SQL> SELECT SUBSTR('ABCDEfgh', 4, 3) FROM DUAL;

 

SUB

---

DEf

 

SQL> SELECT string_value, SUBSTR(string_value, -4, 2) FROM test_3;

 

STRING_VALUE SU

-------------------- --

AbcdeF cd

fEDCBa DC

xyz. abc a

 

SQL>

SQL> -- поиск подстроки в строке INSTR(строка, что_искать, начальный индекс)

SQL> SELECT INSTR('abcdefg123456', 'ef', 1) FROM DUAL;

 

INSTR('ABCDEFG123456','EF',1)

-----------------------------

 

SQL> SELECT INSTR('abcdefg123456', 'ef', -3) FROM DUAL;

 

INSTR('ABCDEFG123456','EF',-3)

------------------------------

 

SQL> -- показать по три символа начиная с '.' из поля string_value

SQL> -- для строк таблицы поле где string_value содержит символ '.'

SQL> SELECT SUBSTR(string_value, INSTR(string_value, '.', 1), 3)

2 FROM test_3

3 WHERE string_value LIKE '%.%';

 

SUB

---

. a

 

SQL>

SQL> -- LTRIM(string, symbols_set) - отсечение ведущих символов из набора

SQL> -- RTRIM(string, symbols_set) - отсечение концевых символов из набора

SQL> -- если набор не указан, то подразумевается пробел

SQL> SELECT LTRIM(' abcABC') FROM DUAL;

 

LTRIM(

------

abcABC

 

SQL> SELECT LTRIM(' abcABC', ' abc') FROM DUAL;

 

LTR

---

ABC

 

SQL> SELECT RTRIM('abcABC ') FROM DUAL;

 

RTRIM(

------

abcABC

 

SQL> SELECT RTRIM('abcABC ', ' ABC') FROM DUAL;

 

RTR

---

abc

 

SQL> -- TRIM - универсальная функция отсчечения символов

SQL> SELECT TRIM(' ' FROM ' abcABCxyz ') FROM DUAL;

 

TRIM(``FR

---------

abcABCxyz

 

SQL> SELECT TRIM(LEADING ' ' FROM ' abcABCxyz ') FROM DUAL;

 

TRIM(LEADI

----------

abcABCxyz

 

SQL> SELECT TRIM(TRAILING ' ' FROM ' abcABCxyz ') FROM DUAL;

 

TRIM(TRAIL

----------

abcABCxyz

 

SQL> SELECT TRIM(BOTH ' ' FROM ' abcABCxyz ') FROM DUAL;

 

TRIM(BOTH

---------

abcABCxyz

 

SQL> SELECT TRIM('a' FROM 'abcABCxyz ') FROM DUAL;

 

TRIM(`A`F

---------

bcABCxyz

 

SQL> SELECT TRIM('b' FROM 'bbbABCbb') FROM DUAL;

 

TRI

---

ABC

 

SQL> SELECT TRIM(LEADING 'z' FROM 'zzzABCxyz') FROM DUAL;

 

TRIM(L

------

ABCxyz

 

SQL>

SQL> -- замена символов в строке REPLACE(строка, что_искать, на_что_заменить)

SQL> SELECT REPLACE('ab_1_cd_1_ef', '_1_', ' ') FROM DUAL;

 

REPLACE(

--------

ab cd ef

 

SQL>

SQL> -- сцепление строк

SQL> SELECT CONCAT('abc', 'XYZ') FROM DUAL;

 

CONCAT

------

abcXYZ

 

SQL> SELECT CONCAT('xyz', CONCAT('abc', 'XYZ')) FROM DUAL;

 

CONCAT(`X

---------

xyzabcXYZ

 

SQL> SELECT 'abc' || 'XYZ' FROM DUAL;

 

'ABC'|

------

abcXYZ

 

SQL> SELECT 'xyz' || 'abc' || 'XYZ' FROM DUAL;

 

'XYZ'||`A

---------

xyzabcXYZ

 

SQL>

SQL> --

SQL> -- Функции работы с данными типа DATE

SQL> --

SQL>

SQL> -- округление даты ROUND(дата, строка_формата)

SQL> SELECT date_value, ROUND(date_value, 'YEAR') FROM test_3;

 

DATE_VALUE ROUND(DATE

---------- ----------

2004-01-12 2004-01-01

2004-10-04 2005-01-01

2004-12-31 2005-01-01

 

SQL> SELECT date_value, ROUND(date_value, 'MONTH') FROM test_3;

 

DATE_VALUE ROUND(DATE

---------- ----------

2004-01-12 2004-01-01

2004-10-04 2004-10-01

2004-12-31 2005-01-01

 

SQL>

SQL> -- отсечение информации о времени TRUNC(дата, строка_формата)

SQL> SELECT SYSDATE, TRUNC(SYSDATE) FROM DUAL;

 

SYSDATE TRUNC(SYSD

---------- ----------

2004-07-24 2004-07-24

 

SQL> SELECT date_value, TRUNC(date_value, 'YEAR') FROM test_3;

 

DATE_VALUE TRUNC(DATE

---------- ----------

2004-01-12 2004-01-01

2004-10-04 2004-01-01

2004-12-31 2004-01-01

 

SQL> SELECT date_value, TRUNC(date_value, 'MONTH') FROM test_3;

 

DATE_VALUE TRUNC(DATE

---------- ----------

2004-01-12 2004-01-01

2004-10-04 2004-10-01

2004-12-31 2004-12-01

 

SQL> -- добавим строку содержащую текущую дату и время

SQL> INSERT INTO test_3 VALUES ('str', 10, 'A', SYSDATE);

 

1 row created.

 

SQL> -- попробуем найти строки с текущей ДАТОЙ

SQL> -- не корректно:

SQL> SELECT date_value FROM test_3 WHERE date_value = SYSDATE;

 

DATE_VALUE

----------

2004-07-24

 

SQL> -- корректно:

SQL> SELECT date_value FROM test_3 WHERE TRUNC(date_value) = TRUNC(SYSDATE);

 

DATE_VALUE

----------

2004-07-24

 

SQL>

SQL> -- ADD_MONTH - добавить заданное число месяцев к дате

SQL> SELECT SYSDATE, ADD_MONTHS(SYSDATE, 2) FROM DUAL;

 

SYSDATE ADD_MONTHS

2004-07-24 2004-09-24   SQL>

Not found

SQL> SELECT DECODE(symbol_value, 'A', 'Letter A', 2 'Z', 'Letter Z', 3 'Unknown letter')

– Конец работы –

Используемые теги: Изучение, основных, встроенных, функций, системных, переменных, выражений, языка, PL/SQL0.122

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: изучение основных встроенных функций, системных переменных и выражений языка PL/SQL

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ. ЭЛЕМЕНТЫ ЯЗЫКА. ЭЛЕМЕНТЫ ДАННЫХ. ВЫРАЖЕНИЯ. ОСНОВНЫЕ ИНСТРУКЦИИ. ПРОЦЕДУРЫ. ПРЕПРОЦЕССОР. СТИЛЬ ПРОГРАММИРОВАHИЯ
ВВЕДЕНИЕ... ОСНОВНЫЕ ПОНЯТИЯ И...

Понятие о языке и речи. Основные функции языка
Понятие о языке и речи Основные функции языка... Понятие об основных и дополнительных формах существования языка Разнообразие... Литературный язык как высшая форма существования национального языка Основные черты литературного языка...

Средства невербальной коммуникации в изучении иностранного языка (на примере немецкого языка)
Он во многом определяет как реакцию на окружающих, так и их отношение к нам. Стоит только сознательно отнестись к этим безмолвным сигналам, которые… Самые современные представления позволяют думать, что способность читать чужие… Проще говоря, самые разные внешние признаки, такие как выражение лица или направление взгляда, помогают нам догадаться…

Два объекта истории русского языка: живой язык диалектный и литературный язык
Новые общественные функции приобретает русский язык по мере сложения новой исторической общности советского народа он становится межнациональным... Современный период... Горшкова Хабургаев ИГРЯ...

Изучение конструкций и команд языка PL/SQL
На сайте allrefs.net читайте: "Изучение конструкций и команд языка PL/SQL"

Понятие литературный язык. Место литературного языка среди других форм существования языка
Литературный язык это язык государственных и культурных учреждений школьного обучения радио и телевидения науки публицистики художественной... Современный литературный язык многофункционален Он используется в различных... Основные сферы использования литературного языка телевидение и кино наука и образование печать и радио...

Грамматика как языковой уровень. Морфология и смежные уровни языка; морфология и фонология; основные понятия морфонологии; морфология и синтаксис
Термин quot морфология quot состоит из двух древнегреческих корней и буквально означает quot учение о форме quot Он имеет два основных... Система механизмов языка обеспечивающая построение и понимание его... раздел грамматики изучающий закономерности функционирования и развития этой системы...

Основные принципы построения методики изучения стохастической линии в курсе математики основной школы
Сейчас без достаточно развитых представлений о случайных событиях и их вероятностях, без хорошего представления о том, что явления и процессы, с… Общество все глубже начинает изучать себя и стремиться сделать прогнозы о себе… Как известно, современная концепция школьного математического образования ориентирована, прежде всего, на учет…

Основные понятия языка C++. Переменные, константы
На сайте allrefs.net читайте: "Основные понятия языка C++. Переменные, константы"

Грамматика как языковой уровень. Морфология и смежные уровни языка; морфология и фонология; основные понятия морфонологии; морфология и синтаксис
Термин морфология состоит из двух древнегреческих корней и буквально означает учение о форме Он имеет два основных значения... Система механизмов языка обеспечивающая построение и понимание его... раздел грамматики изучающий закономерности функционирования и развития этой системы...

0.039
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам