1. Каков будет результат следующего запроса?
SELECT ROUND(144.23,-1) FROM dual;
- 140
- 144
- 150
- 100
Ответ: A. Функция ROUND округляет значение 144.23 в соответствии с заданной точностью -1 и возвращает 140.
Изучите структуру таблицы СОТРУДНИКОВ, как указано, и ответьте на следующие вопросы 2 и 3.
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
2. В настоящее время вы находитесь в Нью-Джерси и подключились к удаленной базе данных в Сан-Диего. Вы вводите следующую команду.
SELECT ROUND (sysdate-hire_date,0) FROM employees WHERE (sysdate-hire_date)/180 = 2;
Каков результат этого запроса?
- Ошибка, потому что функцию ROUND нельзя использовать с аргументами Date.
- Ошибка, поскольку выражение условия WHERE недопустимо.
- Количество дней с момента найма сотрудника на основе текущей даты и времени Сан-Диего.
- Количество дней с момента найма сотрудника на основе текущей даты и времени в Нью-Джерси.
Ответ: C. Функция SYSDATE примет текущее время базы данных, к которой она подключается удаленно. Вы должны выполнить основную арифметическую операцию, чтобы настроить часовой пояс.
3. Вам необходимо отобразить имена сотрудников, которые имеют букву «s» в своем имени и букву «t» на второй позиции в своей фамилии. Какой запрос даст требуемый результат?
-
SELECT first_name, last_name FROM employees WHERE INSTR(first_name,'s') <> 0 AND SUBSTR(last_name,2,1) = 't';
-
SELECT first_name, last_name FROM employees WHERE INSTR(first_name,'s') <> '' AND SUBSTR(last_name,2,1) = 't';
-
SELECT first_name, last_name FROM employees WHERE INSTR(first_name,'e') IS NOT NULL AND SUBSTR(last_name,2,1) = 't';
-
SELECT first_name, last_name FROM employees WHERE INSTR(first_name,'e') <> 0 AND SUBSTR(last_name,LENGTH(first_name),1) = 't';
Ответ: A. Функция INSTR возвращает позицию заданного символа в требуемой строке. Функция SUBSTR возвращает набор символов из строки из заданной начальной и конечной позиции.
4. Какое из следующих утверждений верно в отношении функции COUNT?
- COUNT (*) подсчитывает повторяющиеся значения и значения NULL в столбцах любого типа данных.
- Функция COUNT не может работать с типами данных DATE.
- COUNT (DISTINCT job_id) возвращает количество строк, исключая строки, содержащие дубликаты и значения NULL в столбце job_id.
- Оператор SELECT, использующий функцию COUNT с ключевым словом DISTINCT, не может содержать предложение WHERE.
Ответ: A. Функция COUNT (*) возвращает количество строк в таблице, которые удовлетворяют критериям инструкции SELECT, включая повторяющиеся строки и строки, содержащие нулевые значения в любом из столбцов. Если в инструкцию SELECT включено предложение WHERE, COUNT (*) возвращает количество строк, удовлетворяющих условию в предложении WHERE. Напротив, COUNT (expr) возвращает количество ненулевых значений в столбце, идентифицированных выражением. COUNT (DISTINCT expr) возвращает количество уникальных ненулевых значений, которые находятся в столбце, указанном expr.
5. Какая из следующих команд используется для подсчета количества строк и ненулевых значений в базе данных Oracle?
- НЕНУЛЕВОЙ
- INSTR
- SUBSTR
- COUNT
Ответ: D. COUNT (ALL column_name) используется для подсчета количества строк, исключая NULL. Точно так же COUNT (*) используется для подсчета значений столбцов, включая NULL.
6. Каков будет результат запроса, приведенного ниже?
SELECT 100+NULL+999 FROM dual;
- 100
- 999
- НОЛЬ
- 1099
Ответ: C. Любая арифметическая операция с NULL приводит к NULL.
7. Какие из следующих утверждений верны в отношении однорядных функций?
- Они принимают только один аргумент.
- Они могут быть вложены только в два уровня.
- Аргументы могут быть только значениями столбцов или константами.
- Они могут возвращать значение типа данных, отличное от того, на которое ссылается.
Ответ: D. Однорядные функции могут принимать более одного аргумента, и тип возвращаемого значения может отличаться от типа данных входных данных.
8. Какой из приведенных ниже запросов отформатирует значение 1680 как 16,80,00 долл. США?
-
SELECT TO_CHAR(1680.00,'$99G99D99') FROM dual;
-
SELECT TO_CHAR(1680.00,'$9,999V99') FROM dual;
-
SELECT TO_CHAR(1680.00,'$9,999D99') FROM dual;
-
SELECT TO_CHAR(1680.00,'$99G999D99') FROM dual;
Ответ: A, D. Модель формата $ 99G999D99 форматирует заданное число в числовой, разделитель групп и десятичные дроби. Другими элементами формата могут быть начальные нули, десятичная позиция, запятая, местная валюта, научная запись и знак.
9. Определите вывод приведенного ниже запроса.
SELECT RPAD(ROUND('78945.45'),10,'*') FROM dual;
- 78945 *****
- ** 78945,45
- Функция RPAD не может быть вложена в другие функции
- 78945,45 ****
Ответ: A. Функции LPAD (string, num, char) и RPAD (string, num, char) добавляют символ слева или справа от заданной строки, пока он не достигнет указанной длины (num) после заполнения. Функция ROUND округляет значение с 78945.45 до 78945, а затем дополняет его «*» до достижения длины 10.
10. Какая из следующих команд позволяет подставлять значение всякий раз, когда в запросе SQL встречается значение NULL или не NULL?
- NVL
- NVLIF
- NVL2
- LNNVL
Ответ: C. Функция NVL2 принимает минимум три аргумента. Функция NVL2 проверяет первое выражение. Если он не нулевой, функция NVL2 возвращает второй аргумент. Если первый аргумент равен нулю, возвращается третий аргумент.
11. Какие из перечисленных ниже типов однорядных функций не могут быть включены в БД Oracle?
- символ
- числовой
- преобразование
- Ни один из вышеперечисленных
Ответ: D. Типы однорядных функций, таких как символьные, числовые, дата, преобразование и прочие, а также написанные программистом, могут быть включены в БД Oracle.
12. Где из приведенных ниже предложений можно использовать однорядные функции?
- ВЫБРАТЬ
- ГДЕ
- СОРТИРОВАТЬ ПО
- Все вышеперечисленное
Ответ: D. Однорядная функция может использоваться в операторе SELECT, предложении WHERE и предложении ORDER BY.
13. Что верно в отношении функции NVL в БД Oracle?
- Синтаксис NVL — это NVL (exp1, exp2), где exp1 и exp2 — выражения.
- NVL (exp1, exp2) вернет значение exp2, если выражение exp1 равно NULL.
- NVL (exp1, exp2) вернет значение выражения exp2, если exp1 не равно NULL.
- NVL (exp1, exp2) вернет exp1, если выражение exp2 равно NULL.
Ответ: B. Функция NVL заменяет нулевое значение альтернативным значением. Столбцы типа данных дата, символ и номер могут использовать NVL для предоставления альтернативных значений. Типы данных столбца и его альтернативы должны совпадать.
14. Изучите структуру таблицы СОТРУДНИКОВ, как указано.
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
SELECT last_name, NVL(job_id, 'Unknown') FROM employees WHERE last_name LIKE 'A%' ORDER BY last_name;
- Это вызовет ошибку ORA при выполнении.
- В нем будут перечислены идентификаторы работы для всех сотрудников из таблицы EMPLOYEES.
- Он перечислит идентификаторы работы всех сотрудников и заменит NULL идентификаторы работы литералом «Неизвестно».
- Он будет отображать фамилии всех сотрудников и их идентификаторы работы, включая значения NULL в идентификаторе вакансии.
Ответ: C. Функция NVL заменяет нулевое значение альтернативным значением. Столбцы типа данных дата, символ и номер могут использовать NVL для предоставления альтернативных значений. Типы данных столбца и его альтернативы должны совпадать.
15. Каков будет результат следующего запроса?
SELECT NVL (NULL,'1') FROM dual;
- НОЛЬ
- 1
- 0
- Выдает ошибку, потому что NULL не может быть явно указан в функции NVL
Ответ: B. NVL будет обрабатывать NULL как значение и возвращает альтернативный аргумент, т.е. 1 как результат.
16. Каков будет результат следующего запроса? (Рассмотрите структуру таблицы СОТРУДНИКОВ как дано)
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
SELECT employee_id , NVL(salary, 0) FROM employees WHERE first_name like 'P%' ORDER BY first_name;
- В столбце зарплаты будет отображаться 0 для всех сотрудников, чье имя начинается с буквы «P».
- Он будет отображать зарплату для сотрудников, чье имя начинается с ‘P’ и 0, если зарплата равна NULL.
- Он выдаст ошибку ORA, поскольку предложение ORDER BY также должно содержать столбец зарплаты.
- Функция NVL должна быть правильно использована как NVL (0, зарплата)
Ответ: B. Функция NVL заменяет нулевое значение альтернативным значением. Столбцы типа данных дата, символ и номер могут использовать NVL для предоставления альтернативных значений. Типы данных столбца и его альтернативы должны совпадать.
17. Какое из следующих утверждений верно в отношении заявления NVL?
SELECT NVL (arg1, arg2) FROM dual;
- Два выражения arg1 и arg2 должны быть только в формате типа данных VARCHAR2 или NUMBER.
- Аргументы arg1 и arg2 должны иметь одинаковый тип данных
- Если arg1 равен VARCHAR2, то Oracle DB преобразует arg2 в тип данных arg1 перед их сравнением и возвращает VARCHAR2 в наборе символов arg1.
- Функция NVL не может использоваться с аргументами типа данных DATE.
Ответ: C. Если arg1 относится к типу данных VARCHAR2, Oracle неявно преобразует тип для arg2. Идентификатор arg2 имеет тип данных NUMBER. Во всех остальных случаях оба аргумента должны иметь одинаковый тип данных.
18. Каков будет результат следующего запроса? (Рассмотрите структуру таблицы СОТРУДНИКОВ как дано)
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
SELECT NVL2(job_id,'Regular Employee','New Joinee') FROM employees;
- Он вернет значение «Обычный сотрудник» для всех сотрудников, имеющих NULL идентификаторы работы
- Он вернет значение «New Joinee» для всех сотрудников, имеющих NULL идентификаторы работы
- Будет возвращено «Обычный сотрудник», если идентификатор задания равен NULL
- Это вызовет ошибку ORA при выполнении.
Ответ: B. Функция NVL2 проверяет первое выражение. Если первое выражение не равно нулю, функция NVL2 возвращает второе выражение. Если первое выражение равно нулю, возвращается третье выражение.
19. Что из следующего верно для утверждения, приведенного ниже.
NVL2 (arg1, arg2, arg3)
- Arg2 и Arg3 могут иметь любой тип данных
- Arg1 не может иметь тип данных LONG
- Oracle преобразует тип данных expr2 в соответствии с Arg1
- Если Arg2 является NUMBER, то Oracle определяет числовой приоритет, неявно преобразует другой аргумент в этот тип данных и возвращает этот тип данных.
Ответ: D. Типы данных параметров arg2 и arg3 должны быть совместимы, и они не могут быть типа LONG. Они должны быть одного типа, или должна быть возможность конвертировать arg3 в тип параметра arg2. Тип данных, возвращаемых функцией NVL2, совпадает с типом параметра arg2.
20. Изучите структуру таблицы СОТРУДНИКОВ, как указано.
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
SeLECT first_name, salary, NVL2(commission_pct, salary + (salary * commission_pct), salary) "Income" FROM employees WHERE first_name like 'P%' ORDER BY first_name;
- Заработная плата будет возвращена, если комиссия за работника НЕ равна NULL.
- Commission_pct будет возвращен, если комиссия за сотрудника НЕ равна NULL.
- Сотрудники с именами, начинающимися с ‘P’ и оклада + (оклад * комиссия_pct), будут возвращены, если работник заработает комиссию.
- Запрос выдает ошибку, потому что математическое выражение написано внутри NVL2.
Ответ: C. Функция NVL2 проверяет первое выражение. Если первое выражение не равно нулю, функция NVL2 возвращает второе выражение. Если первое выражение равно нулю, возвращается третье выражение.
21. Что верно в отношении функции NULLIF в БД Oracle?
- NULLIF (expr1, expr2) вернет expr2, если два выражения НЕ NULL.
- NULLIF (expr1, expr2) вернет 0, если два выражения равны NULL.
- NULLIF (expr1, expr2) вернет NULL, если два выражения равны.
- Expr1 может быть NULL в NULLIF (expr1, expr2)
Ответ: C. Функция NULLIF проверяет два члена на равенство. Если они равны, функция возвращает ноль, иначе она возвращает первый из двух протестированных членов. Функция NULLIF принимает два обязательных параметра любого типа данных. Синтаксис NULLIF (arg1, arg2), где сравниваются аргументы arg1 и arg2. Если они идентичны, то возвращается NULL. Если они различаются, возвращается arg1.
22. Выберите правильный ответ, данный после утверждения, показанного ниже.
NULLIF (arg1,arg2)
- Arg1 и Arg2 могут быть разных типов данных.
- Arg1 и Arg2 должны быть равны для использования в функции NULLIF.
- Внутреннее преобразование типов данных не выполняется, если используется NULLIF, как в случае NVL и NVL2.
- Это эквивалентно случаю, когда Arg1 = Arg22 THEN NULL ELSE Arg1 END.
Ответ: Д.
23. Изучите структуру таблицы СОТРУДНИКОВ, как указано.
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
Вам необходимо создать отчет из схемы управления персоналом, показывающий сотрудников, которые сменили работу с тех пор, как они были приняты на работу. Вы выполняете запрос, указанный ниже.
SELECT e.last_name, NULLIF(e.job_id, j.job_id,"Old Job ID") FROM employees e, job_history j WHERE e.employee_id = j.employee_id ORDER BY last_name;
Каков будет результат запроса, приведенного выше?
- Он будет отображать старый идентификатор задания, когда новый идентификатор задания равен NULL.
- Он будет успешно выполнен и даст требуемый результат.
- Он будет отображать новый идентификатор работы, если новый идентификатор работы равен старому идентификатору работы
- Это вызовет ошибку ORA при выполнении.
Ответ: Д.
24. Что из перечисленного не является свойством функций?
- Выполните расчеты на данных
- Преобразовать типы данных столбца
- Изменить отдельные элементы данных
- Ни один из вышеперечисленных
Ответ: D. Функции могут выполнять вычисления, выполнять преобразования регистра и преобразования типов.
25. Что наиболее подходит для однорядных функций?
- Они не возвращают значение
- Они возвращают один результат на строку и оперируют всеми строками таблицы.
- Они возвращают один результат на строку с входными аргументами
- Они возвращают один результат на набор строк и работают с несколькими строками.
Ответ: B. Функции с одной строкой всегда возвращают один результат на строку, и они работают только с одной строкой; следовательно, им дано название «Единая строка».
26. Что из перечисленного является типом функций Oracle SQL?
- Многорядные функции
- Функции одного столбца
- Функции с одним значением
- Функции нескольких столбцов
Ответ: A. Существует в основном два типа функций — функции с одной строкой и несколько строк.
27. Что из перечисленного является типом однорядной функции?
- VARCHAR2
- символ
- ДОЛГО
- NULLIF
Ответ: B и D. Поскольку Character и NULLIF являются однорядными функциями, а остальные являются типами данных.
28. Что больше всего подходит для функций с несколькими строками?
- Они возвращают несколько значений для каждой строки.
- Они возвращают один результат на группу строк и могут управлять группами строк.
- Они возвращают один результат на строку и могут управлять группами строк.
- Они возвращают несколько значений на группу строк.
Ответ: B. Функции с несколькими строками всегда работают с группой строк и возвращают одно значение на группу строк.
29. Что из следующего также называется групповыми функциями?
- Однорядные функции
- Мультигрупповые функции
- Многорядные функции
- Одиночные групповые функции.
Ответ: C. Групповые функции такие же, как многорядные и агрегатные функции.
30. Какое из следующих утверждений относится к функциям с одной строкой?
- Они могут быть вложенными
- Они принимают аргументы и возвращают более одного значения.
- Они не могут изменить тип данных
- Они не могут принимать выражения в качестве аргументов.
Ответ: A. Однорядные функции могут быть вложены в несколько уровней.
31. Какое количество аргументов принимают функции Single Row?
- 0
- Только 1
- Только 2
- 1 или более 1
Ответ: D. Однорядные функции могут принимать один или несколько аргументов в зависимости от цели, которой они служат.
32. Что из следующего может быть аргументом для функции с одной строкой?
- Типы данных
- SELECT заявления
- выражение
- Имя таблицы
Ответ: C. Предоставленная пользователем константа, значение переменной, значение столбца и выражение являются типами аргументов одной функции строки.
33. Что верно в отношении символьных функций?
- Они возвращают только символьные значения
- Они принимают значения NUMBER
- Они принимают символьные аргументы и могут возвращать как символьные, так и числовые значения.
- Они принимают значения всех типов данных
Ответ: C. Символьная функция INSTR принимает строковое значение, но возвращает числовую позицию символа в строке.
34. Что верно в отношении числовых функций?
- Они возвращают как символьные, так и числовые значения
- Они не могут принимать выражения в качестве входных данных
- Числовые функции не могут быть вложенными.
- Они принимают числовые аргументы и возвращают только числовые значения.
Ответ: Д.
35. Что из следующего является исключением из возвращаемого значения однорядной функции типа DATE?
- НА СВИДАНИЕ
- SYSDATE
- MONTHS_BETWEEN
- TO_NUMBER
Ответ: C. Все функции типа данных DATE возвращают DATE в качестве возвращаемых значений, кроме MONTHS_BETWEEN, который возвращает число.
36. Что из перечисленного не является функцией Single Row типа преобразования?
- TO_CHAR
- НА СВИДАНИЕ
- NVL
- TO_NUMBER
Ответ: C. Функции преобразования преобразуют значение из одного типа данных в другой. Функция NVL заменяет нулевое значение альтернативным значением.
37. Что из перечисленного является символьной функцией преобразования регистра?
- CONCAT
- SUBSTR
- INITCAP
- ЗАМЕНА
Ответ: C. CONCAT, SUBSTR и REPLACE являются символьными функциями для манипулирования символами, в то время как INITCAP, LOWER и UPPER являются символьными функциями преобразования регистра.
38. Каков будет результат следующего запроса?
SELECT lower('HI WORLD !!!') FROM dual;
- Привет, мир !!!
- Привет, мир !!!
- Привет, мир !!!
- ПРИВЕТ, МИР !!!
Ответ: C. Функция LOWER преобразует строку в символы нижнего регистра.
39. Каков будет результат следующего запроса?
SELECT lower(upper(initcap('Hello World') )) FROM dual;
- Привет, мир
- Привет, мир
- Привет, мир
- Привет, мир
Ответ: D. Символы преобразования регистра могут быть вложены в запросы SELECT.
Изучите структуру таблицы СОТРУДНИКОВ, как дано, и ответьте на вопросы с 40 по 42, которые следуют.
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
40.Какие из следующих запросов дадут тот же результат, что и приведенный ниже запрос?
SELECT CONCAT(first_name, last_name) FROM employees;
- ВЫБЕРИТЕ first_name || last_name ОТ сотрудников;
- ВЫБЕРИТЕ имя_ | ‘|| фамилия ОТ сотрудников;
- ВЫБЕРИТЕ фамилию || ‘,’ || first_name ОТ сотрудников;
- ВЫБЕРИТЕ first_name || ‘,’ || last_name ОТ сотрудников;
Ответ: A. Функция CONCAT объединяет две строки без пробела между ними.
41. Каков будет результат следующего запроса?
SELECT 'The job id for '||upper(last_name) ||' is a '||lower(job_id) FROM employees;
- Идентификатор работы для ABEL является sa_rep
- Идентификатор задания для ABEL является sa_rep
- Идентификатор задания для abel — SA_REP
- Идентификатор задания для abel — sa_rep
Ответ: А.
42. Предполагая, что фамилии сотрудников указаны в надлежащем регистре в таблице сотрудников, каков будет результат следующего запроса?
SELECT employee_id, last_name, department_id FROM employees WHERE last_name = 'smith';
- Он будет отображать данные сотрудника с фамилией Смит
- Это не даст никакого результата.
- В нем будут указаны сведения о сотруднике с фамилией «Смит» во всех строчных буквах.
- В нем будет указана информация о сотруднике, имеющем фамилию «Смит» во всех случаях INITCAP.
Ответ: B. При условии, что фамилии в таблице сотрудников находятся в надлежащем случае, условие WHERE last_name = ‘smith’ не будет выполнено и, следовательно, результаты не будут отображаться.
43. Что верно в отношении функции CONCAT в БД Oracle?
- На входе могут быть только символы.
- Может иметь только 2 входных параметра.
- Может иметь 2 или более входных параметров
- Он объединяет значения, по умолчанию помещая пробел между сцепленными строками.
Ответ: B. Функция CONCAT принимает только два аргумента типов данных NUMBER или VARCHAR2.
44. Что верно в отношении функции SUBSTR в БД Oracle?
- Извлекает строку определенной длины
- Показывает длину строки в виде числового значения.
- Находит числовую позицию именованного символа
- Обрезает символы с одной (или обеих) сторон от строки символов
Ответ: A. Функция SUBSTR (string, x, y) принимает три параметра и возвращает строку, состоящую из числа символов, извлеченных из исходной строки, начиная с указанной начальной позиции (x). Когда позиция положительна, функция считает от начала строки, чтобы найти первый символ. Когда позиция отрицательна, функция отсчитывает назад от конца строки.
45. Каков будет результат следующего запроса?
SELECT length('hi') FROM dual;
- 2
- 3
- 1
- Привет
Ответ: A. Функция LENGTH просто дает длину строки.
46. В чем разница между функциями LENGTH и INSTR в БД Oracle?
- Они дают одинаковые результаты при работе на струне.
- ДЛИНА дает положение определенного символа в строке
- INSTR задает положение определенного символа в строке, а LENGTH — длину строки.
- ДЛИНА и ИНСТР могут использоваться взаимозаменяемо.
Ответ: C.
47. Изучите структуру таблицы СОТРУДНИКОВ, как указано.
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
SELECT upper(&jobid) FROM employees;
- Это приводит к ошибке, поскольку переменные подстановки не могут использоваться с однорядными функциями
- Он предлагает пользователю вводить идентификатор задания при каждом выполнении, а затем отображает идентификатор задания в верхнем регистре.
- Это дает jobid, как он присутствует в таблице сотрудников без каких-либо изменений
- Он не попросит пользователя ввести идентификатор задания и преобразует все идентификаторы задания в таблице в верхнем случае.
Ответ: B. Переменные подстановки можно использовать с функциями UPPER и LOWER.
48. Что неверно в таблице DUAL в базе данных Oracle?
- Он принадлежит пользователю SYS и может быть доступен всем пользователям.
- Он содержит только один столбец и одну строку.
- Значение в столбце DUMMY таблицы DUAL — «X»
- Таблица DUAL полезна, когда вы хотите вернуть значение только один раз
Ответ: C. Таблица DUAL имеет один столбец с именем DUMMY и одну строку со значением «X».
49. Что будет результатом следующего запроса?
SELECT sysdate+4/12 FROM dual;
- Запрос выдает ошибку.
- Нет часов до даты с датой в результате.
- Арифметика Sysdate игнорируется.
- Возвращает системную дату как результат.
Ответ: B. Арифметические операции можно выполнять с датами в БД Oracle.
50. Каков будет результат следующего запроса?
SELECT lower (100+100) FROM dual;
- 100
- 100 + 100
- Ошибка ORA
- 200
Ответ: D. Арифметические выражения можно указывать в функциях преобразования регистра.
51. Каков будет результат следующего запроса, если SYSDATE = 20-MAY-13?
SELECT upper (lower (sysdate)) FROM dual;
- 20-May-2013
- Ошибка ORA, поскольку LOWER и UPPER не могут принять значения даты.
- 20-May-13
- 20-May-13
Ответ: C. Функции UPPER и LOWER могут принимать входные данные типа даты и будут давать тот же результат, что и для строк.
52. Каков результат следующего запроса?
SELECT INITCAP (24/6) FROM dual;
- 4
- 24
- 24/6
- Безрезультатно
Ответ: A. Арифметические выражения можно указывать в функциях преобразования регистра.
53. Изучите структуру таблицы СОТРУДНИКОВ, приведенную здесь.
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
Вам необходимо отобразить фамилию всех сотрудников, которая начинается с буквы «А». Какой из следующих запросов даст требуемый результат?
-
SELECT INITCAP (last_name||' works as a '||job_id "Job Description" FROM employees WHERE initcap (last_name) like 'A%';
-
SELECT INITCAP (last_name) ||INITCAP(' works as a: ')|| INITCAP(job_id) "Job Description" FROM employees WHERE initcap (last_name) like 'A %';
-
SELECT INITCAP (last_name||' works as a '||INITCAP(job_id)) "Job Description" FROM employees WHERE initcap (last_name) = 'A';
-
SELECT UPPER (LOWER (last_name||' works as a '||job_id)) "Job Description" FROM employees WHERE lower (last_name) = 'A';
Ответ: А, Б.
54. Предполагая, что SYSDATE 20-FEB-13, каков будет результат следующего запроса?
SELECT CONCAT ('Today is :', SYSDATE) FROM dual;
- Сегодня: 20-Фев-13
- Запрос выдает ошибку несовместимых аргументов типа.
- Сегодня: 20-Фев-13
- Сегодня: 20-ФЕВ-13
Ответ: D. Функция CONCAT принимает аргументы всех типов.
55. Каким будет шаблон результата следующего запроса?
SELECT CONCAT(first_name, CONCAT (last_name, job_id)) FROM dual;
- First_namelast_namejob_id
- Имя, фамилия, идентификатор вакансии
- Ошибка, поскольку CONCAT не может быть вложенным
- Фамилия, имя, отчество
Ответ: A. Функция CONCAT может быть вложена в функцию self или другую символьную функцию.
56. Изучите структуру таблицы СОТРУДНИКОВ, приведенную здесь.
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
Вам необходимо сгенерировать отчет, в котором будут указаны имя, фамилия и зарплата всех сотрудников в отделе 100. Отчет должен отображать результаты в форме «Энди Смит зарабатывает 50000». Какой из следующих запросов даст требуемый результат?
-
SELECT concat (first_name,concat (' ', concat(last_name, concat(' earns ', SALARY)))) Concat_String FROM employees WHERE department_id = 100;
-
SELECT concat (first_name, last_name||' '|| salary) FROM employees WHERE department_id = 100;
-
SELECT concat (first_name, concat(last_name, ' '))||earns||salary FROM employees WHERE department_id = 100;
-
SELECT concat (first_name, concat(last_name, 'earns salary') FROM employees WHERE department_id = 100;
Ответ: A. Функция CONCAT может быть вложена в функцию self или другую символьную функцию.
57. Что будет отображать следующий запрос в результате?
SELECT LENGTH('It is a lovely day today!') FROM dual;
- 25
- 19
- 20
- 0
Ответ: A. Функции LENGTH подсчитывают пробелы, символы табуляции и специальные символы.
58. Вам необходимо отобразить название страны из таблицы СТРАН. Длина названия страны должна быть больше 5 символов. Какой из следующих запросов даст требуемый результат?
-
SELECT country_name FROM countries WHERE LENGTH (country_name)= 5;
-
SELECT country_name FROM countries WHERE length (country_name)> 5;
-
SELECT SUBSTR(country_name, 1,5) FROM countries WHERE length (country_name)< 5;
-
SELECT country_name FROM countries WHERE length (country_name) <> 5;
Ответ: B. Функция LENGTH может использоваться в предложении WHERE.
59. Как функция LPAD работает со строками?
- Выравнивает строку по левой стороне столбца
- Возвращает строку, дополненную указанным количеством символов, справа от исходной строки.
- Он выравнивает символьные строки слева и числовые строки справа от столбца.
- Возвращает строку, дополненную указанным количеством символов, слева от исходной строки.
Ответ: D. Функции LPAD (строка, длина после заполнения, строка заполнения) и RPAD (строка, длина после заполнения, строка заполнения) добавляют строку символов слева или справа от строки, пока она не достигнет указанной длины после обивка.
60. Какая из следующих опций верна в отношении функций LPAD и RPAD?
- Строки символов, используемые для заполнения, включают только символы.
- Строки символов, используемые для заполнения, включают только литералы
- Строки символов, используемые для заполнения, не могут включать выражения.
- Строки символов, используемые для заполнения, включают литералы, символы и выражения.
Ответ: Д.
61. Каково максимальное количество входных аргументов в функциях LPAD и RPAD?
- 1
- 2
- 3
- 0
Ответ: C. LPAD и RPAD принимают максимум 3 аргумента. Если дано 2 аргумента, заполнение происходит пробелами.
62. Каков будет результат следующего запроса?
SELECT lpad (1000 +300.66, 14, '*') FROM dual;
- ******* 1300,66
- 1300 *******
- 1300,66
- **** 1300,66
Ответ: A. Чтобы получить общую длину 14 символов, возвращаемое значение 1300.66 дополняется 7 звездочками (*) слева.
63. Что верно в отношении функции TRIM?
- Это похоже на функцию SUBSTR в Oracle
- Удаляет символы из начала или конца символьных литералов, столбцов или выражений
- Функция TRIM не может быть применена к выражениям и числам
- Функция TRIM может удалять символы только с обеих сторон строки.
Ответ: B. Функция TRIM буквально обрезает начальные или конечные (или оба) строки символов из заданной исходной строки. Функция TRIM, за которой следуют ключевые слова TRAILING или LEADING, может удалять символы с одной или обеих сторон строки.
64. Вам необходимо удалить вхождения символа «.» и двойные кавычки «» «из следующих названий книги, представленной в таблице ЖУРНАЛ.
"HUNTING THOREAU IN NEW HAMPSHIRE" THE ETHNIC NEIGHBORHOOD."
Какой из следующих запросов даст требуемый результат?
-
SELECT LTRIM(Title,'"') FROM MAGAZINE;
-
SELECT LTRIM(RTRIM(Title,'."'),'"') FROM MAGAZINE;
-
SELECT LTRIM (Title,'"THE') FROM MAGAZINE;
-
SELECT LTRIM(RTRIM(Title,'."THE'),'"') FROM MAGAZINE;
Ответ: B. Функции LTRIM и RTRIM могут использоваться в сочетании друг с другом.
65. Что будет возвращено в результате следующего запроса?
SELECT INSTR('James','x') FROM dual;
- 1
- 2
- 0
- 3
Ответ: C. Функция INSTR возвращает 0, если строка поиска отсутствует в данной строке.
66. Каков будет результат следующего запроса?
SELECT INSTR('1$3$5$7$9$','$',3,4)FROM dual;
- 2
- 10
- 7
- 4
Ответ: B. Функция поиска INSTR для 4-го вхождения ‘$’, начиная с 3-й позиции.
67. Что будет результатом следующего запроса?
SELECT INSTR('1#3#5#7#9#', -3,2) FROM dual;
- # 5
- # 3
- # 7
- # 9
Ответ: Функция D. SUBSTR будет искать 3 места, начиная с конца строки, и будет выдавать 2 символа в прямом направлении, давая # 9.
Изучите структуру таблицы СОТРУДНИКОВ, приведенную ниже, и ответьте на следующие вопросы 68 и 69.
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
68. Вам нужно извлечь согласованную 15-символьную строку на основе столбца SALARY в таблице EMPLOYEES. Если значение SALARY имеет длину менее 15 символов, слева от значения необходимо добавить нули, чтобы получить строку из 15 символов. Какой запрос выполнит это требование?
-
SELECT rpad(salary, 15,0) FROM employees;
-
SELECT lpad(salary,15,0) FROM employees;
-
SELECT ltrim(salary,15,0) FROM employees;
-
SELECT trim(salary,15,0) FROM employees;
Ответ: B. Функции LPAD и RPAD добавляют строку символов слева или справа от строки, пока она не достигнет указанной длины после заполнения.
69. Вам нужно отобразить последние 2 символа из столбца FIRST_NAME в таблице EMPLOYEES без использования функции LENGTH. Какой из следующих запросов может удовлетворить это требование?
-
SELECT SUBSTR(first_name, 2) FROM employees;
-
SELECT SUBSTR(first_name, -2) FROM employees;
-
SELECT RTRIM(first_name, 2) FROM employees;
-
SELECT TRIM(first_name, 2) FROM employees;
Ответ: B. Функция SUBSTR (string, x, y) принимает три параметра и возвращает строку, состоящую из числа символов, извлеченных из исходной строки, начиная с указанной начальной позиции (x). Когда позиция положительна, функция считает от начала строки, чтобы найти первый символ. Когда позиция отрицательна, функция отсчитывает назад от конца строки.
70. Предполагая, что SYSDATE — 13 июня — 13, что будет результатом следующего запроса?
SELECT SUBSTR(sysdate,10,7) FROM dual;
- 3
- N-13
- 0
- НОЛЬ
Ответ: D. Запрос выдаст NULL, поскольку позиция 10 для начала в SYSDATE не существует.
71. Что из следующего используется для замены определенного символа в данной строке в БД Oracle?
- LTRIM
- ОТДЕЛКА
- TRUNC
- ЗАМЕНА
Ответ: Д.
72. Каков будет результат следующего запроса?
SELECT replace(9999.00-1,'8',88) FROM dual;
- 999
- 9998
- 99988
- 9999,88
Ответ: C. Функция REPLACE ищет «8» в 9998 и заменяет его на «88».
73. Изучите структуру таблицы СОТРУДНИКОВ, приведенную здесь.
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
Вам необходимо получить имя, фамилию (разделенные пробелом) и формальные имена сотрудников, где общая длина имени и фамилии превышает 15 символов. Формальное имя состоит из первой буквы имени и первых 14 символов фамилии. Какой из следующих запросов выполнит это требование?
-
SELECT first_name, last_name ,SUBSTR(first_name, 1,1)||' '||SUBSTR(last_name, 1,14) formal_name FROM employees;
-
SELECT first_name, last_name ,SUBSTR(first_name, 1,14)||' '||SUBSTR(last_name, 1,1) formal_name FROM employees WHERE length (first_name) + length(last_name) < 15;
-
SELECT first_name, last_name ,SUBSTR(first_name, 1,1)||' '||SUBSTR(last_name, 1,14) formal_name FROM employees WHERE length (first_name) + length(last_name) =15;
-
SELECT first_name, last_name ,SUBSTR(first_name, 1,1)||' '||SUBSTR(last_name, 1,14) formal_name FROM employees WHERE length (first_name) + length(last_name) > 15;
Ответ: Д.
74. Каков будет результат следующего запроса?
SELECT round(148.50) FROM dual;
- 148,50
- 140
- 150
- 149
Ответ: D. если десятичная точность отсутствует, по умолчанию степень округления равна 0, а источник округляется до ближайшего целого числа.
75. Предполагая, что sysdate будет 10 июня, 13, каков будет результат следующего запроса?
SELECT trunc (sysdate,'mon') FROM dual;
- 10-JUN-13
- 1-JUN-13
- Ошибка ORA, поскольку функция TRUNC не может иметь входной параметр при использовании с датами.
- 31-JUN-13
Ответ: B. Дата усекается до первого дня месяца. Точно так же это может быть сделано в течение года также.
76. Что будет результатом следующего запроса?
SELECT trunc(1902.92,-3) FROM dual;
- 2000
- 1000
- 1901
- 1901,00
Ответ: Б.
77. Каков синтаксис функции MOD в Oracle DB?
- Mod (делитель, дивиденды)
- MOD (делитель, 1)
- MOD (делимое, делитель)
- Ни один из вышеперечисленных
Ответ: C. Функция MOD используется для получения остатка от операции деления.
78. Каков будет результат следующего запроса?
SELECT mod(100.23,-3) FROM dual;
- Ошибка ORA
- 1,23
- 100
- 0
Ответ: B. Функция MOD дает такой же ответ как для положительного, так и для отрицательного делителя.
79. Какие из следующих функций используются для различения четных и нечетных чисел в БД Oracle?
- КРУГЛЫЙ
- TRUNC
- MOD
- ЗАМЕНА
Ответ: C. Функция MOD может использоваться для проверки, является ли данное число четным или нечетным. Если MOD (num, 2) возвращает ноль, число ‘num’ является четным. Если MOD (num, 2) возвращает 1, число ‘num’ является нечетным.
80. Изучите структуру таблицы СОТРУДНИКОВ, приведенную ниже.
SQL> DESC employees Name Null? Type ----------------------- -------- ---------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4)
Вы должны распределить первые 12 сотрудников в одну из четырех команд в порядке круговой очереди. Идентификаторы сотрудника начинаются со 100. Какой из следующих запросов будет удовлетворять требованию?
-
SELECT * FROM employees WHERE employee_id between 100 and 111 ORDER BY employee_id;
-
SELECT first_name, last_name, employee_id, mod(employee_id, 4) Team# FROM employees WHERE employee_id between 100 and 111 ORDER BY employee_id;
-
SELECT first_name, last_name,mod(employee_id, 2) Team# FROM employees WHERE employee_ID <> 100;
-
SELECT first_name, last_name, mod(employee_id, 4) Team# FROM employees WHERE employee_ID = 100;
Ответ: Б.
81. Каков будет результат следующего запроса?
SELECT SUBSTR('Life is Calling',1) FROM dual;
- Ошибка ORA, так как должно быть не менее 3 аргументов для функции SUBSTR.
- Жизнь зовет
- НОЛЬ
- жизнь
Ответ: B. Вызов функции SUBSTR только с двумя первыми параметрами приводит к тому, что функция извлекает строку из начальной позиции до конца данной исходной строки.
82. Какой формат данных по умолчанию для sysdate в SQL Developer?
- DD-MON-YY
- DD-MON-RR
- DD / ПН / RR
- DD / ПН / YYYY
Ответ: C. Для SQL * PLUS формат даты по умолчанию — DD-MON-RR.
83. Предполагая, что SYSDATE — 10 июня 2013 г., 12:05, какое значение возвращается после выполнения запроса ниже?
SELECT add_months(sysdate,-1) FROM dual;
- 09 мая 2013 12:05
- 10 мая 2013 12:05
- 10 июля 2013 12:05
- 09 июля 2013 12:05
Ответ: B. Функция ADD_MONTHS (date, x) добавляет число x календарных месяцев к указанной дате. Значение ‘x’ должно быть целым числом и может быть отрицательным.
84. Какое значение будет возвращено после выполнения следующего оператора? Обратите внимание, что 01 января 2013 года происходит во вторник.
SELECT next_day('01-JAN-2013','friday') FROM dual;
- 02-JAN-2013
- пятница
- 04-JAN-2013
- Ни один из вышеперечисленных
Ответ: C. NEXT_DAY (дата, «день») находит дату следующего указанного дня недели («день»), следующего за датой. Значение char может быть числом, представляющим день или символьную строку.
85. Какое максимальное количество параметров может принимать функция ROUND?
- 0
- 1
- 2
- 3
Ответ: C. Если присутствует только один параметр, округление происходит до ближайшего целого числа.
86. Если предположить, что текущая дата 02 июня 2007 года, какой будет столетие, возвращенное для даты 24 июля 2004 года в формате DD-MON-RR?
- 19
- 21
- 20
- НОЛЬ
Ответ: C. Если две цифры текущего года и указанного года лежат между 0 и 49, текущий век возвращается.
87. Если предположить, что текущая дата 02 июня 2007 года, какой будет столетие, возвращенное для даты 24 июля 94 года в формате DD-MON-RR?
- 19
- 21
- 20
- НОЛЬ
Ответ: A. Если две цифры текущего года лежат между 0 и 49, а указанный год находится между 50 и 99, возвращается предыдущий век.
88. Если предположить, что нынешняя дата 02 июня 1975 года, какой будет столетие, возвращенное для даты 24 июля 94 года в формате DD-MON-RR?
- 19
- 21
- 20
- НОЛЬ
Ответ: A. если две цифры текущего и указанного лет лежат между 50 и 99, текущий век возвращается по умолчанию.
89. Если предположить, что нынешняя дата 02 июня 1975 года, какой будет столетие, возвращенное для даты 24 июля 07 года в формате DD-MON-RR?
- 19
- 21
- 20
- НОЛЬ
Ответ: C. если две цифры текущего года лежат между 50 и 99, а указанный год находится между 0 и 49, возвращается следующее столетие.
90. Сколько параметров принимает функция SYSDATE?
- 1
- 2
- 4
- 0
Ответ: D. SYSDATE — это псевдостолбец в Oracle.
91. Что верно в отношении функции SYSDATE в БД Oracle?
- Возвращает только системную дату
- Требуется минимум 2 параметра.
- По умолчанию используется формат DD-MON-YY.
- Формат SYSDATE по умолчанию — DD-MON-RR, и он возвращает дату и время системы в соответствии с сервером базы данных.
Ответ: Д.
92. Каким будет тип данных результата следующей операции?
«Дата3 = Дата1-Дата2»
- Дата
- num1
- 0
- НОЛЬ
Ответ: B. Вычитание двух дат приводит к количеству дней.
93. Каким будет тип данных результата следующей операции?
«Date2 = Date1-Num1»
- Дата
- num1
- 0
- НОЛЬ
Ответ: A. Вычитание числа из значения даты приводит к дате.
94. Что представляет собой разница между двумя датами в базе данных Oracle?
- Количество дней между ними
- Разница в датах в Oracle DB невозможна
- Свидание
- НОЛЬ
Ответ: А.
95. Каков будет результат следующего запроса?
SELECT months_between('21-JUN-13','19-JUN-13') FROM dual;
- Ошибка ORA
- Положительное число
- Отрицательное число
- 0
Ответ: C. Если первый параметр меньше, чем второй параметр, MONTHS_BETWEEN возвращает отрицательное число.
96. Что можно вывести, если результат функции MONTHS_BETWEEN (start_date, end_date) является дробью?
- Он представляет собой разницу в количестве между начальной и конечной датами.
- Результат не может быть дробным числом, это должно быть целое число.
- НОЛЬ
- Он представляет дни и время, оставшееся после вычисления целой разницы между годами и месяцами, и основан на 31-дневном месяце.
Ответ: Д.
97. Вы подключены к удаленной базе данных в Швейцарии из Индии. Вам нужно найти местное индийское время из БД. Что из следующего даст нужный результат?
-
SELECT sysdate FROM dual;
-
SELECT round(sysdate) FROM dual;
-
SELECT trunc (sysdate) FROM dual;
-
SELECT current_date FROM dual;
Ответ: Д.
98. Каков будет результат следующего запроса?
SELECT months_between (to_date ('29-feb-2008'), to_date ('29-feb-2008 12:00:00','dd-mon-yyyy hh24:mi:ss'))*31 FROM dual;
- Примерно 0
- 1
- Запрос выдаст ошибку ORA
- 0,5 дня
Ответ: D. MONTHS_BETWEEN (date1, date2) находит количество месяцев между date1 и date2. Результат может быть положительным или отрицательным. Если дата1 позже даты2, результат положительный; если дата1 раньше даты2, результат отрицательный. Нецелая часть результата представляет часть месяца.
99. Каков будет результат следующего запроса?
SELECT add_months ('31-dec-2008',2.5) FROM dual;
- 31-февраля-2009
- 28-февраля-2009
- 31-мар-2009
- 15-января-2009
Ответ: B. Дробная часть 2.5 будет проигнорирована, и к 31 декабря 2012 года, т.е. 31 февраля 2013 года, будут добавлены 2 месяца, но, поскольку это недопустимая дата, результатом будет 28 февраля 2009 года.
100. Вам необходимо указать дату в ноябре, когда персоналу будут платить. Бонусы выплачиваются в последнюю пятницу ноября. Что из следующего выполнит требование?
-
SELECT next_day ('30-nov-2012' , 'Friday') FROM dual;
-
SELECT next_day ('30-nov-2012' , 'Friday') -7 FROM dual;
-
SELECT last_day ('01-nov-2012' ) FROM dual;
-
SELECT next_day ('30-nov-2012' , 'sat') -1 FROM dual;
Ответ: B. Функции NEXT_DAY (дата, «день») и LAST_DAY (дата, «день») находят дату следующего или последнего указанного дня недели («день»), следующего за датой. Значение char может быть числом, представляющим день или символьную строку.