変換関数に関する質問
1. What will be the outcome of the following query?
SELECT ROUND(144.23,-1) FROM dual;
- 140
- 144
- 150
- 100
Answer: A. ROUND関数は、指定された精度-1に従って値144.23を四捨五入し、140を返します。
Examine the structure of the EMPLOYEES table as given and answer the questions 2 and 3 that follow.
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. You are currently located in New Jersey and have connected to a remote database in San Diego. You issue the following command.
SELECT ROUND (sysdate-hire_date,0) FROM employees WHERE (sysdate-hire_date)/180 = 2;
このクエリの結果は何ですか?
- ROUND関数はDate引数では使用できないため、エラーが発生します。
- WHERE条件式が無効なためエラーになりました。
- 現在のサンディエゴの日時に基づいて、従業員が雇用されてからの日数。
- 現在のニュージャージーの日時に基づいて、従業員が雇用されてからの日数。
Answer: C. SYSDATE関数は、リモートで接続しているデータベースの現在の時刻を取得します。タイムゾーンを調整するには、基本的な算術演算を実行する必要があります。
3. You need to display the names of the employees who have the letter 's' in their first name and the letter 't' at the second position in their last name. Which query would give the required output?
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';
Answer: A.INSTR関数は、必要な文字列内の指定された文字の位置を返します。SUBSTR関数は、指定された開始位置と終了位置から文字列から文字のセットを返します。
4. Which of the following statements is true regarding the COUNT function?
- COUNT(*)は、任意のデータ型の列の重複値とNULL値をカウントします。
- COUNT関数はDATEデータ型では機能しません。
- COUNT(DISTINCT job_id)は、job_id列に重複値とNULL値を含む行を除く行数を返します。
- DISTINCTキーワードを指定してCOUNT関数を使用するSELECTステートメントには、WHERE句を含めることはできません。
Answer: A.COUNT(*)関数は、SELECTステートメントの条件を満たすテーブル内の行数を返します。これには、重複する行や、いずれかの列にnull値を含む行が含まれます。WHERE句がSELECTステートメントに含まれている場合、COUNT(*)はWHERE句の条件を満たす行数を返します。対照的に、COUNT(expr)は、exprで識別される列にあるNULL以外の値の数を返します。COUNT(DISTINCT expr)は、exprで識別される列にある一意の非NULL値の数を返します。
5. Which of the following commands is used to count the number of rows and non-NULL values in Oracle database?
- NULLではありません
- INSTR
- SUBSTR
- COUNT
Answer: D.COUNT(ALL column_name)は、NULLを除く行数をカウントするために使用されます。同様に、COUNT(*)は、NULLを含む列値をカウントするために使用されます。
6. What will be the outcome of the query given below?
SELECT 100+NULL+999 FROM dual;
- 100
- 999
- NULL
- 1099
Answer: C. NULLを使用した算術演算は、結果としてNULLになります。
7. Which of the following statements are true regarding the single row functions?
- それらは単一の引数のみを受け入れます。
- それらは2つのレベルにのみネストできます。
- 引数は、列の値または定数のみにすることができます。
- 参照されているものとは異なるデータ型の値を返す可能性があります。
Answer: D. 単一行関数は複数の引数を取ることができ、戻り値の型は入力のデータ型とは異なる場合があります。
8. Which of the below queries will format a value 1680 as $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;
Answer: A, D. フォーマットモデル$ 99G999D99は、指定された数値を数値、グループ区切り文字、および小数にフォーマットします。他のフォーマット要素には、先行ゼロ、小数点以下の桁数、コンマの位置、現地通貨、科学的記数法、および符号があります。
9. Determine the output of the below query.
SELECT RPAD(ROUND('78945.45'),10,'*') FROM dual;
- 78945*****
- **78945.45
- 関数RPADを他の関数とネストすることはできません
- 78945.45****
Answer: A. LPAD(string、num、char)およびRPAD(string、num、char)関数は、パディング後に指定された長さ(num)に達するまで、指定された文字列の左または右に文字を追加します。ROUND関数は、値78945.45を78945に丸めてから、長さが10に達するまで「*」を埋め込みます。
10. Which of the following commands allows you to substitute a value whenever a NULL or non-NULL value is encountered in an SQL query?
- NVL
- NVLIF
- NVL2
- LNNVL
Answer: C. NVL2関数は、最低3つの引数を取ります。NVL2関数は、最初の式をチェックします。nullでない場合、NVL2関数は2番目の引数を返します。最初の引数がnullの場合、3番目の引数が返されます。
11. Which of the following type of single-row functions cannot be incorporated in Oracle DB?
- Character
- Numeric
- Conversion
- 上記のどれでもない
Answer: D. 文字、数値、日付、変換、その他などの単一行関数のタイプ、およびプログラマーが作成した関数をOracleDBに組み込むことができます。
12. Out of the below clauses, where can the single-row functions be used?
- SELECT
- WHERE
- ORDER BY
- 上記のすべて
Answer: D. 単一行関数は、SELECTステートメント、WHERE句、およびORDERBY句で使用できます。
13. What is true regarding the NVL function in Oracle DB?
- NVLの構文はNVL(exp1、exp2)です。ここで、exp1とexp2は式です。
- 式exp1がNULLの場合、NVL(exp1、exp2)はexp2の値を返します。
- exp1がNULLでない場合、NVL(exp1、exp2)は式exp2の値を返します。
- 式exp2がNULLの場合、NVL(exp1、exp2)はexp1を返します。
Answer: B.NVL関数は、null値を代替値に置き換えます。データ型の日付、文字、および数値の列は、NVLを使用して代替値を提供できます。列とその代替のデータ型は一致する必要があります。
14. Examine the structure of the EMPLOYEES table as given.
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テーブルからすべての従業員のジョブIDが一覧表示されます。
- すべての従業員のジョブIDを一覧表示し、NULLのジョブIDをリテラルの「不明」に置き換えます。
- すべての従業員の姓と、ジョブIDのNULL値を含むジョブIDが表示されます。
Answer: C. NVL関数は、null値を代替値に置き換えます。データ型の日付、文字、および数値の列は、NVLを使用して代替値を提供できます。列とその代替のデータ型は一致する必要があります。
15. What will the outcome of the following query?
SELECT NVL (NULL,'1') FROM dual;
- NULL
- 1
- 0
- NVL関数にNULLを明示的に指定できないため、エラーが発生します
Answer: B. NVLはNULLを値として扱い、結果として代替引数、つまり1を返します。
16. What will be the outcome of the following query? (Consider the structure of the EMPLOYEES table as given)
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;
- 名が「P」で始まるすべての従業員の給与列に0が表示されます
- 名前が「P」で始まり、給与がNULLの場合は0で始まる従業員の給与が表示されます。
- ORDER BY句にはsalary列も含まれている必要があるため、ORAエラーがスローされます。
- NVL関数はNVL(0、給与)として正しく使用する必要があります
Answer: B. NVL関数は、null値を代替値に置き換えます。データ型の日付、文字、および数値の列は、NVLを使用して代替値を提供できます。列とその代替のデータ型は一致する必要があります。
17. Which of the following statements is true regarding the NVL statement?
SELECT NVL (arg1, arg2) FROM dual;
- 2つの式arg1とarg2は、VARCHAR2またはNUMBERデータ型の形式である必要があります。
- 引数arg1とarg2は同じデータ型である必要があります
- arg1がVARCHAR2の場合、Oracle DBはarg2をarg1のデータ型に変換してから比較し、arg1の文字セットでVARCHAR2を返します。
- NVL関数は、DATEデータ型の引数では使用できません。
Answer: C. arg1がVARCHAR2データ型の場合、Oracleはarg2の暗黙的な型変換を行います。idarg2はNUMBERデータ型です。他のすべての場合、両方の引数は同じデータ型である必要があります。
18. What will be the outcome of the following query? (Consider the structure of the EMPLOYEES table as given)
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のジョブIDを持つすべての従業員に対して値「RegularEmployee」を返します
- NULLのジョブIDを持つすべての従業員に対して値「NewJoinee」を返します
- ジョブIDがNULLの場合、「正規従業員」を返します
- 実行時にORAエラーをスローします。
Answer: B. NVL2関数は、最初の式を調べます。最初の式がnullでない場合、NVL2関数は2番目の式を返します。最初の式がnullの場合、3番目の式が返されます。
19. Which of the following is true for the statement given as under.
NVL2 (arg1, arg2, arg3)
- Arg2とArg3は任意のデータ型を持つことができます
- Arg1はLONGデータ型を持つことはできません
- Oracleは、Arg1に従ってexpr2のデータ型を変換します
- Arg2がNUMBERの場合、Oracleは数値の優先順位を決定し、他の引数をそのデータ型に暗黙的に変換して、そのデータ型を返します。
Answer: D. arg2パラメーターとarg3パラメーターのデータ型は互換性がある必要があり、LONG型にすることはできません。それらは同じタイプであるか、arg3をarg2パラメーターのタイプに変換できる必要があります。NVL2関数によって返されるデータ型は、arg2パラメーターのデータ型と同じです。
20. Examine the structure of the EMPLOYEES table as given.
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でない場合、給与は返還されます。
- 従業員のコミッションがNULLでない場合、Commission_pctが返されます。
- 名が「P」で始まり、salary +(salary * Commission_pct)の従業員は、コミッションを獲得した場合に返還されます。
- 数式がNVL2内に記述されているため、クエリはエラーをスローします。
Answer: C. NVL2関数は、最初の式を調べます。最初の式がnullでない場合、NVL2関数は2番目の式を返します。最初の式がnullの場合、3番目の式が返されます。
21. What is true about the NULLIF function in Oracle DB?
- NULLIF(expr1、expr2)は、2つの式がNULLでない場合、expr2を返します。
- 2つの式がNULLの場合、NULLIF(expr1、expr2)は0を返します。
- NULLIF(expr1、expr2)は、2つの式が等しい場合にNULLを返します。
- Expr1はNULLIF(expr1、expr2)でNULLにすることができます
Answer: C. NULLIF関数は、2つの項が等しいかどうかをテストします。それらが等しい場合、関数はnullを返します。そうでない場合、テストされた2つの項の最初の項を返します。NULLIF関数は、任意のデータ型の2つの必須パラメーターを取ります。構文はNULLIF(arg1、arg2)で、引数arg1とarg2が比較されます。それらが同一である場合、NULLが返されます。それらが異なる場合は、arg1が返されます。
22. Pick the correct answer given after the statement shown as under.
NULLIF (arg1,arg2)
- Arg1とArg2は異なるデータ型にすることができます。
- NULLIF関数で使用するには、Arg1とArg2が等しくなければなりません。
- NVLおよびNVL2の場合のようにNULLIFが使用された場合、データ型の内部変換はありません。
- これは、CASE WHEN Arg1 = Arg22 THEN NULL ELSE Arg1ENDと同等です。
Answer: D.
23. Examine the structure of the EMPLOYEES table as given.
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)
雇用されてから転職した従業員を表示するHRスキーマからレポートを作成する必要があります。以下のクエリを実行します。
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;
上記のクエリの結果はどうなりますか?
- 新しいジョブIDがNULLの場合、古いジョブIDが表示されます。
- 正常に実行され、必要な出力が生成されます。
- 新しいジョブIDが古いジョブIDと等しい場合は、新しいジョブIDが表示されます。
- 実行時にORAエラーをスローします。
Answer: B.
24. Which of the following is not a property of functions?
- データの計算を実行します
- 列のデータ型を変換する
- 個々のデータ項目を変更する
- 上記のどれでもない
Answer: D. 関数は、計算、大文字と小文字の変換、および型変換を実行できます。
25. What is the most appropriate about single row functions?
- それらは値を返しません
- これらは行ごとに1つの結果を返し、テーブルのすべての行を操作します。
- 入力引数を使用して、行ごとに1つの結果を返します
- これらは、行のセットごとに1つの結果を返し、複数の行を操作します。
Answer: B. 単一行関数は常に行ごとに1つの結果を返し、単一行でのみ動作します。したがって、「単一行」という名前が付けられています。
26. What among the following is a type of Oracle SQL functions?
- 複数行の関数
- 単一列関数
- 単一値関数
- 複数列関数
Answer: A. 関数には、基本的に1行関数と複数行関数の2種類があります。
27. What among the following is a type of single-row function?
- VARCHAR2
- Character
- LONG
- NULLIF
Answer: B. 文字、日付、変換、一般、数値は、単一行関数のタイプです。
28. What is the most appropriate about Multiple Row Functions?
- 行ごとに複数の値を返します。
- 行のグループごとに1つの結果を返し、行のグループを操作できます。
- 行ごとに1つの結果を返し、行のグループを操作できます。
- 行のグループごとに複数の値を返します。
Answer: B. 複数の行関数は常に行のグループで機能し、行のグループごとに1つの値を返します。
29. Which of the following are also called Group functions?
- 単一行関数
- マルチグループ機能
- 複数行関数
- 単一グループ機能。
Answer: C. グループ関数は、複数行関数および集計関数と同じです。
30. Which of the following is true about Single Row Functions?
- それらはネストできます
- それらは引数を受け入れ、複数の値を返します。
- データ型を変更することはできません
- 式を引数として受け入れることはできません。
Answer: A. 単一行の関数は、複数のレベルまでネストできます。
31. What is the number of arguments Single Row functions accept?
- 0
- 1のみ
- たった2
- 1つまたは複数
Answer: D. 単一行関数は、提供する目的に応じて1つ以上の引数を受け入れることができます。
32. Which of the following can be an argument for a Single Row Function?
- データ型
- SELECTステートメント
- Expression
- テーブル名
Answer: C. ユーザー指定の定数、変数値、列値、および式は、単一行関数の引数のタイプです。
33. What is true about Character functions?
- 文字値のみを返します
- それらはNUMBER値を受け入れます
- それらは文字引数を受け入れ、文字と数値の両方を返すことができます
- それらはすべてのデータ型の値を受け入れます
Answer: C. 文字関数INSTRは文字列値を受け入れますが、文字列内の文字の数値位置を返します。
34. What is true about Number functions?
- 文字と数値の両方を返します
- 式を入力として受け入れることはできません
- 数値関数はネストできません。
- これらはNumber引数を受け入れ、Number値のみを返します。
Answer: D.
35. Which of the following is an exception to the return value of a DATE type single-row function?
- TO_DATE
- SYSDATE
- MONTHS_BETWEEN
- TO_NUMBER
Answer: C. 数値を返すMONTHS_BETWEENを除いて、すべてのDATEデータ型関数は戻り値としてDATEを返します。
36. Which of the following is not a Conversion type Single Row function?
- TO_CHAR
- TO_DATE
- NVL
- TO_NUMBER
Answer: C. 変換関数は、値をあるデータ型から別のデータ型に変換します。NVL関数は、null値を代替値に置き換えます。
37. Which of the following is a Case-Conversion Character function?
- CONCAT
- SUBSTR
- INITCAP
- REPLACE
Answer: C. CONCAT、SUBSTR、およびREPLACEは文字操作文字関数であり、INITCAP、LOWER、およびUPPERは大文字と小文字を変換する文字関数です。
38. What will be the outcome of the following query?
SELECT lower('HI WORLD !!!') FROM dual;
- こんにちは、世界よ !!!
- こんにちは、世界よ !!!
- こんにちは、世界よ !!!
- こんにちは、世界よ !!!
Answer: C. LOWER関数は、文字列を小文字に変換します。
39. What will be the outcome of the following query?
SELECT lower(upper(initcap('Hello World') )) FROM dual;
- こんにちは世界
- こんにちは世界
- こんにちは世界
- こんにちは世界
Answer: C. 大文字と小文字の変換文字は、SELECTクエリでネストできます。
Examine the structure of the EMPLOYEES table as given and answer the questions 40 to 42 that follow.
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. Which of the following queries will give the same result as given in the query given below?
SELECT CONCAT(first_name, last_name) FROM employees;
- SELECT first_name || last_name FROM employees;
- SELECT first_name || ' '|| last_nameFROM従業員;
- SELECT last_name || '、' || first_name FROM employees;
- SELECT first_name || '、' || last_name FROM employees;
Answer: A. CONCAT関数は、間にスペースを入れずに2つの文字列を結合します。
41. What will be the outcome of the following query?
SELECT 'The job id for '||upper(last_name) ||' is a '||lower(job_id) FROM employees;
- ABELのジョブIDはsa_repです
- ABELのジョブIDはsa_repです
- abelのジョブIDはSA_REPです
- abelのジョブIDはsa_repです
Answer: A.
42. Assuming the last names of the employees are in a proper case in the table employees, what will be the outcome of the following query?
SELECT employee_id, last_name, department_id FROM employees WHERE last_name = 'smith';
- 姓がSmithの従業員の詳細が表示されます
- 結果は出ません。
- 姓がすべて小文字の「Smith」である従業員の詳細が表示されます。
- すべてのINITCAPの場合、姓が「Smith」である従業員の詳細が表示されます。
Answer: B. 従業員テーブルの姓が適切な場合に限り、条件WHERE last_name = 'smith'は満足されないため、結果は表示されません。
43. What is true about the CONCAT function in Oracle DB?
- 入力として文字のみを含めることができます。
- 入力パラメータは2つだけです。
- 2つ以上の入力パラメーターを持つことができます
- デフォルトでは、連結された文字列の間に空白を入れることで値を結合します。
Answer: B. CONCAT関数は、NUMBERまたはVARCHAR2データ型の2つの引数のみを受け入れます。
44. What is true about the SUBSTR function in Oracle DB?
- 決められた長さの文字列を抽出します
- 文字列の長さを数値で表示します
- 名前付き文字の数値位置を検索します
- 文字列から片側(または両側)から文字をトリミングします
Answer: A.SUBSTR(string、x、y)関数は、3つのパラメーターを受け入れ、指定された開始位置(x)から開始して、ソース文字列から抽出された文字数で構成される文字列を返します。位置が正の場合、関数は文字列の先頭からカウントして最初の文字を見つけます。位置が負の場合、関数は文字列の末尾から逆方向にカウントします。
45. What will be the outcome of the following query?
SELECT length('hi') FROM dual;
- 2
- 3
- 1
- hi
Answer: A. LENGTH関数は、単に文字列の長さを示します。
46. What is the difference between LENGTH and INSTR functions in Oracle DB?
- 弦を操作しても同じ結果が得られます。
- LENGTHは、文字列内の特定の文字の位置を示します
- INSTRは文字列内の特定の文字の位置を示し、LENGTHは文字列の長さを示します。
- LENGTHとINSTRは同じ意味で使用できます。
Answer: C.
47. Examine the structure of the EMPLOYEES table as given.
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;
- 置換変数は単一行関数では使用できないため、エラーが発生します
- 実行のたびにジョブIDを入力するようにユーザーに求め、大文字でジョブIDを表示します。
- 変更を加えずに、テーブルEMPLOYEESに存在するジョブIDを提供します。
- ユーザーにジョブIDの入力を求めず、大文字の場合はテーブル内のすべてのジョブIDを変換します
Answer: B. 置換変数は、UPPER関数とLOWER関数で使用できます。
48. What is false about the table DUAL in Oracle database?
- これはユーザーSYSが所有し、すべてのユーザーがアクセスできます。
- 1つの列と1つの行のみが含まれます。
- DUALテーブルのDUMMY列の値は「X」です。
- DUALテーブルは、値を1回だけ返したい場合に役立ちます
Answer: C. DUALテーブルには、DUMMYという名前の1つの列と、値が「X」の1つの行があります。
49. What will be the result of the following query?
SELECT sysdate+4/12 FROM dual;
- クエリはエラーを生成します。
- 結果として日付が含まれる日付までの時間数。
- Sysdate演算は無視されます。
- 結果としてシステム日付を返します。
Answer: B. 算術演算は、OracleDBの日付に実行できます。
50. What will be the outcome of the following query?
SELECT lower (100+100) FROM dual;
- 100
- 100+100
- ORAエラー
- 200
Answer: D. 算術式は、大文字小文字変換関数内で指定できます。
51. What will be the outcome of the following query if the SYSDATE = 20-MAY-13?
SELECT upper (lower (sysdate)) FROM dual;
- 20-may-2013
- LOWERおよびUPPERは日付値を受け入れることができないため、ORAエラーが発生します。
- 20-MAY-13
- 20-May-13
Answer: C. 関数UPPERおよびLOWERは日付型の入力を受け入れることができ、文字列の場合と同じ結果を生成します。
52. What is the result of the following query?
SELECT INITCAP (24/6) FROM dual;
- 4
- 24
- 24/6
- 検索結果はありません
Answer: A. 算術式は、大文字小文字変換関数内で指定できます。
53. Examine the structure of the EMPLOYEES table as given here.
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)
文字「A」で始まるすべての従業員の姓を表示する必要があります。次のクエリのどれが必要な結果をもたらしますか?
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';
Answer: A, B.
54. Assuming the SYSDATE is 20-FEB-13, What will be the outcome of the following query?
SELECT CONCAT ('Today is :', SYSDATE) FROM dual;
- 今日は:2013年2月20日
- クエリは、互換性のない型引数のエラーをスローします。
- 今日は:2013年2月20日
- 今日は:20-FEB-13
Answer: D. CONCAT関数は、すべてのタイプの引数を受け入れます。
55. What will be the result pattern of the following query?
SELECT CONCAT(first_name, CONCAT (last_name, job_id)) FROM dual;
- First_namelast_namejob_id
- First_name、last_name、job_id
- CONCATをネストできないためエラー
- First_namelast_name、job_id
Answer: A. CONCAT関数は、self関数または他の文字関数とネストできます。
56. Examine the structure of the EMPLOYEES table as given here.
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のすべての従業員の名、姓、および給与を示すレポートを生成する必要があります。レポートには、「AndySmithが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;
Answer: A. CONCAT関数は、self関数または他の文字関数とネストできます。
57. What will the following query show as a result?
SELECT LENGTH('It is a lovely day today!') FROM dual;
- 25
- 19
- 20
- 0
Answer: A. LENGTH関数は、空白スペース、タブ、および特殊文字もカウントします。
58. You need to display the country name from the COUNTRIES table. The length of the country name should be greater than 5 characters. Which of the following queries will give the required output?
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;
Answer: B. LENGTH関数はWHERE句で使用できます。
59. How does the function LPAD works on strings?
- 文字列を列の左側に揃えます
- ソース文字列の右側に指定された文字数が埋め込まれた文字列を返します
- 文字列を列の左側に配置し、数値文字列を列の右側に配置します
- ソース文字列の左側に指定された文字数が埋め込まれた文字列を返します
Answer: D. LPAD(文字列、パディング後の長さ、パディング文字列)およびRPAD(文字列、パディング後の長さ、パディング文字列)関数は、パディング後に指定された長さに達するまで、文字のパディング文字列を文字列の左側または右側に追加します。
60. Which of the following options is true regarding LPAD and RPAD functions?
- パディングに使用される文字列には、文字のみが含まれます。
- パディングに使用される文字列には、リテラルのみが含まれます
- パディングに使用される文字列に式を含めることはできません。
- パディングに使用される文字列には、リテラル、文字、および式が含まれます。
Answer: D.
61. What is the maximum number of input arguments in LPAD and RPAD functions?
- 1
- 2
- 3
- 0
Answer: C. LPADとRPADは最大3つの引数を取ります。2つの引数が指定されている場合、パディングはスペースによって行われます。
62. What will be the outcome of the following query?
SELECT lpad (1000 +300.66, 14, '*') FROM dual;
- *******1300.66
- 1300*******
- 1300.66
- ****1300.66
Answer: A. 全長を14文字にするために、戻り値1300.66には、左側に7つのアスタリスク(*)が埋め込まれます。
63. What is true regarding the TRIM function?
- OracleのSUBSTR関数に似ています
- 文字リテラル、列、または式の最初または最後から文字を削除します
- TRIM関数は式とNUMBERSには適用できません
- TRIM関数は、文字列の両側からのみ文字を削除できます。
Answer: B. TRIM関数は、指定されたソース文字列から文字列の先頭または末尾(または両方)を文字通り削除します。TRIM関数の後にTRAILINGまたはLEADINGキーワードが続く場合、文字列の片側または両側から文字を削除できます。
64. You need to remove the occurrences of the character '.' and the double quotes '"' from the following titles of a book present in the table MAGAZINE.
"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;
Answer: B. LTRIM関数とRTRIM関数は、互いに組み合わせて使用できます。
65. What will be returned as a result of the following query?
SELECT INSTR('James','x') FROM dual;
- 1
- 2
- 0
- 3
Answer: C. 指定された文字列に検索文字列がない場合、INSTR関数は0を返します。
66. What will be the outcome of the following query?
SELECT INSTR('1$3$5$7$9$','$',3,4)FROM dual;
- 2
- 10
- 7
- 4
Answer: B. INSTR関数は、3番目の位置から4番目に出現する「$」を検索します。
67. What will be the result of the following query?
SELECT INSTR('1#3#5#7#9#', -3,2) FROM dual;
- #5
- #3
- #7
- #9
Answer: D. SUBSTR関数は、文字列の末尾から3箇所を検索し、順方向に2文字を入力して#9を表示します。
Examine the structure of the EMPLOYEES table as given below and answer the questions 68 and 69 that follow.
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. You need to extract a consistent 15 character string based on the SALARY column in the EMPLOYEES table. If the SALARY value is less than 15 characters long, zeros must be added to the left of the value to yield a 15 character string. Which query will fulfill this requirement?
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;
Answer: B. LPAD関数とRPAD関数は、パディング後に指定された長さに達するまで、文字列の左側または右側に文字のパディング文字列を追加します。
69. You need to display the last 2 characters from the FIRST_NAME column in the EMPLOYEES table without using the LENGTH function. Which of the following queries can fulfill this requirement?
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;
Answer: B. SUBSTR(string、x、y)関数は、3つのパラメーターを受け入れ、指定された開始位置(x)から開始して、ソース文字列から抽出された文字数で構成される文字列を返します。位置が正の場合、関数は文字列の先頭からカウントして最初の文字を見つけます。位置が負の場合、関数は文字列の末尾から逆方向にカウントします。
70. Assuming the SYSDATE is 13-JUN-13, what will be the outcome of the following query?
SELECT SUBSTR(sysdate,10,7) FROM dual;
- 3
- N-13
- 0
- NULL
Answer: D. SYSDATEで開始する位置10が存在しないため、クエリはNULLを返します。
71. Which of the following is used to replace a specific character in a given string in Oracle DB?
- LTRIM
- TRIM
- TRUNC
- REPLACE
Answer: D.
72. What will be the outcome of the following query?
SELECT replace(9999.00-1,'8',88) FROM dual;
- 999
- 9998
- 99988
- 9999.88
Answer: C. REPLACE関数は、9998で「8」を検索し、「88」に置き換えます。
73. Examine the structure of the EMPLOYEES table as given here.
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;
Answer: D.
74. What will be the outcome of the following query?
SELECT round(148.50) FROM dual;
- 148.50
- 140
- 150
- 149
Answer: D. 10進精度がない場合、デフォルトの丸めの度合いは0であり、ソースは最も近い整数に丸められます。
75. Assuming the sysdate is 10-JUN-13, What will be the outcome of the following query?
SELECT trunc (sysdate,'mon') FROM dual;
- 10-JUN-13
- 1-JUN-13
- 日付とともに使用する場合、TRUNC関数は入力パラメーターを持つことができないため、ORAエラーが発生します。
- 31-JUN-13
Answer: B. 日付は月の最初の日に切り捨てられます。同様に、それは一年も行うことができます。
76. What will be the result of the following query?
SELECT trunc(1902.92,-3) FROM dual;
- 2000
- 1000
- 1901
- 1901.00
Answer: B.
77. What is the syntax of the MOD function in Oracle DB?
- Mod(divisor,dividend)
- MOD(divisor,1)
- MOD(dividend,divisor)
- 上記のどれでもない
Answer: C. MOD関数は、除算演算の余りを取得するために使用されます。
78. What will be outcome of the following query?
SELECT mod(100.23,-3) FROM dual;
- ORAエラー
- 1.23
- 100
- 0
Answer: B. MOD関数は、正の約数と負の約数に対して同じ答えを出します。
79. Which of the following functions are used to differentiate between even or odd numbers in Oracle DB?
- ROUND
- TRUNC
- MOD
- REPLACE
Answer: C. MOD関数を使用して、指定された数値が偶数か奇数かを確認できます。MOD(num、2)がゼロを返す場合、数値「num」は偶数です。MOD(num、2)が1を返す場合、数値「num」は奇数です。
80. Examine the structure of the EMPLOYEES table as given below.
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人の従業員をラウンドロビン方式で4つのチームの1つに割り当てる必要があります。従業員IDは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;
Answer: B.
81. What will be the outcome of the following query?
SELECT SUBSTR('Life is Calling',1) FROM dual;
- SUBSTR関数には最低3つの引数があるはずなので、ORAエラー。
- 人生は呼んでいる
- NULL
- Life
Answer: B. 最初の2つのパラメーターだけを使用してSUBSTR関数を呼び出すと、関数は指定されたソース文字列の開始位置から終了位置まで文字列を抽出します。
82. What is the default data format for the sysdate in SQL Developer?
- DD-MON-YY
- DD-MON-RR
- DD/MON/RR
- DD/MON/YYYY
Answer: C. SQL * PLUSの場合、デフォルトの日付形式はDD-MON-RRです。
83. Assuming the SYSDATE to be 10-JUN-2013 12:05pm, what value is returned after executing the below query?
SELECT add_months(sysdate,-1) FROM dual;
- 2013年5月9日12:05 pm
- 2013年5月10日12:05 pm
- 2013年7月10日12:05 pm
- 2013年7月9日12:05 pm
Answer: B. ADD_MONTHS(date、x)関数は、指定された日付に「x」暦月数を追加します。'x'の値は整数である必要があり、負の値にすることもできます。
84. What value will be returned after executing the following statement? Note that 01-JAN-2013 occurs on a Tuesday.
SELECT next_day('01-JAN-2013','friday') FROM dual;
- 02-JAN-2013
- Friday
- 04-JAN-2013
- 上記のどれでもない
Answer: C. NEXT_DAY(date、 'day')は、日付の次の指定された曜日( 'day')の日付を検索します。charの値は、日を表す数値または文字列です。
85. What is the maximum number of parameters the ROUND function can take?
- 0
- 1
- 2
- 3
Answer: C. パラメータが1つしかない場合は、最も近い整数に丸めが行われます。
86. Assuming the present date is 02-JUN-2007, what will be the century returned for the date 24-JUL-2004 in the DD-MON-RR format?
- 19
- 21
- 20
- NULL
Answer: C. 現在の年と指定された年の2桁が0から49の間にある場合、現在の世紀が返されます。
87. Assuming the present date is 02-JUN-2007, what will be the century returned for the date 24-JUL-94 in the DD-MON-RR format?
- 19
- 21
- 20
- NULL
Answer: A. 現在の年の2桁が0から49の間にあり、指定された年が50から99の間にある場合、前の世紀が返されます。
88. Assuming the present date is 02-JUN-1975, what will be the century returned for the date 24-JUL-94 in the DD-MON-RR format?
- 19
- 21
- 20
- NULL
Answer: A. 現在の年と指定された年の2桁が50から99の間にある場合、デフォルトで現在の世紀が返されます。
89. Assuming the present date is 02-JUN-1975, what will be the century returned for the date 24-JUL-07 in the DD-MON-RR format?
- 19
- 21
- 20
- NULL
Answer: C. 現在の年の2桁が50から99の間にあり、指定された年が0から49の間にある場合、次の世紀が返されます。
90. How many parameters does the SYSDATE function take?
- 1
- 2
- 4
- 0
Answer: D. SYSDATEは、Oracleの疑似列です。
91. What is true about the SYSDATE function in Oracle DB?
- システム日付のみを返します
- 少なくとも2つのパラメーターを取ります。
- デフォルトの形式はDD-MON-YYです
- SYSDATEのデフォルト形式はDD-MON-RRであり、データベースサーバーに応じてシステムの日付と時刻を返します。
Answer: D.
92. What will be the datatype of the result of the following operation?
- Date
- Num1
- 0
- NULL
Answer: B. 2つの日付を引くと、日数になります。
93. What will be the datatype of the result of the following operation?
- Date
- Num1
- 0
- NULL
Answer: A. 日付値から数値を引くと、日付になります。
94. What does a difference between two dates represent in Oracle DB?
- それらの間の日数
- OracleDBでは日付の違いは不可能です
- デート
- NULL
Answer: A.
95. What will be the outcome of the following query?
SELECT months_between('21-JUN-13','19-JUN-13') FROM dual;
- ORAエラー
- 正の数
- 負の数
- 0
Answer: C. 最初のパラメーターが2番目のパラメーターよりも小さい場合、MONTHS_BETWEENは負の数を返します。
96. What can be deduced if the result of MONTHS_BETWEEN (start_date,end_date) function is a fraction?
- 開始日と終了日の数の差を表します。
- 結果は小数にすることはできず、整数にする必要があります。
- NULL
- これは、年と月の整数の差が計算された後の残りの日数と時間を表し、31日の月に基づいています。
Answer: D.
97. You are connected to a remote database in Switzerland from India. You need to find the Indian local time from the DB. Which of the following will give the required result?
SELECT sysdate FROM dual;
SELECT round(sysdate) FROM dual;
SELECT trunc (sysdate) FROM dual;
SELECT current_date FROM dual;
Answer: D.
98. What will be the outcome of the following query?
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日
Answer: D. MONTHS_BETWEEN(date1、date2)は、date1とdate2の間の月数を検索します。結果は正または負になります。date1がdate2より後の場合、結果は正です。date1がdate2より前の場合、結果は負になります。結果の整数以外の部分は、月の一部を表します。
99. What will be the outcome of the following query?
SELECT add_months ('31-dec-2008',2.5) FROM dual;
- 31-feb-2009
- 28-feb-2009
- 31-mar-2009
- 15-jan-2009
Answer: B. 2.5の小数部分は無視され、2か月が2012年12月31日(2013年2月31日)に追加されますが、有効な日付ではないため、結果は2009年2月28日です。
100. You need to identify the date in November when the staff will be paid. Bonuses are paid on the last Friday in November. Which of the following will fulfill the requirement?
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;
Answer: B. NEXT_DAY(date、 'day')およびLAST_DAY(date、 'day')関数は、日付の次の曜日または最後に指定された曜日( 'day')の日付を検索します。charの値は、日を表す数値または文字列です。