条件式に関する質問

1. What is true about data types in Oracle DB?

  1. それらはソートの目的で列に与えられます。
  2. それらは、テーブル内の構造化表現の列に与えられます。
  3. それらは、格納できるデータの性質を制約するために列に与えられます。
  4. それらは必須ではありません。

Answer: C. データ型は、列がテーブルに格納できるデータの性質を定義します。列に格納できるデータのタイプは1つだけです。Oracleで使用可能な主なデータ型は、NUMBER、VARCHAR2、およびDATEです。

2. What is true about nested functions?

  1. OracleDBではネストされた関数を5回しか使用できないという制限があります。
  2. それらは最も外側のレベルから最も内側のレベルまで評価されます。
  3. それらは最も内側のレベルから最も外側のレベルまで評価されます。
  4. ネストされた式のすべての関数は、同じデータ型を返します。

Answer: C. 単一行の関数は、関数をグループ化できます。SELECTクエリでは、最も内側の関数が最初に実行されます。最も内側の関数の実行結果は、外側の関数の入力として機能します。

3. Which of the following functions simplify working with columns that potentially contain null values?

  1. 入れ子関数
  2. 一般的な機能
  3. 条件関数
  4. 上記のどれでもない

Answer: B. NVL、NVL2、NULLIF、COALESCEなどの一般的な関数は、クエリ結果を表示しながらNULLの影響を和らげるために使用されます。代替値を割り当てることにより、NULL値をバイパスします。

4. Which of the following data types are appropriate for general functions?

  1. VARCHAR2
  2. NUMBER
  3. DATE
  4. すべてのデータ型

Answer: D. 一般的な関数は通常、NUMBER、VARCHAR2、DATEなどのすべてのプライマリデータ型と互換性があります。

5. What is true about the COALESCE function?

  1. 最小2つと最大5つの入力パラメーターを受け入れます
  2. 入力パラメータの最初のNULL値を常に返します
  3. 無制限の数の入力パラメータを受け入れることができます
  4. null以外の最初のパラメータを返します。それ以外の場合はnullを返します。

Answer: C, D. COALESCE関数は、2つの必須パラメーターと任意の数のオプションパラメーターを取ります。構文はCOALESCE(expr1、expr2、Ö、exprn)で、nullでない場合はexpr1が返され、nullでない場合はexpr2が返されます。COALESCEは、次の2つの式が示すように、NVL関数の一般的な形式です。COALESCE(expr1、expr2)= NVL(expr1、expr2)、COALESCE(expr1、expr2、expr3)= NVL(expr1、NVL(expr2、expr3) )

6. How many input parameters are mandatory in NVL function?

  1. 0
  2. 1
  3. 2
  4. 3

Answer: C. NVL関数は、2つの必須パラメーターを取ります。その構文はNVL(original、ifnull)です。ここで、originalはテスト対象の用語を表し、ifnullは元の用語がnullと評価された場合に返される結果です。元のパラメーターとifnullパラメーターのデータ型は常に互換性がある必要があります。それらは同じタイプであるか、ifnullを元のパラメーターのタイプに暗黙的に変換できる必要があります。NVL関数は、元のパラメーターと同じデータ型の値を返します。

7. What is wrong in the following statement?

NVL (ifnull, original)
  1. 何も悪いことはありません
  2. 元のパラメータは必要ありません
  3. パラメータ「ifnull」は必要ありません
  4. 正しいステートメントはNVL(original、ifnull)です

Answer: D. NVL関数は、任意のデータ型の列または式がnullであるかどうかを評価します。項がnullの場合、nullではない代替値が返されます。それ以外の場合は、最初の項が返されます。

8. What will be the output of the following query?

SELECT NVL(1234) FROM dual;
  1. 1234
  2. 1000
  3. NULL
  4. ORA-00909:引数の数が無効ですエラー

Answer: D. NVL関数は2つの必須パラメーターを取ります。その構文はNVL(original、ifnull)です。ここで、originalはテスト対象の用語を表し、ifnullは元の用語がnullと評価された場合に返される結果です。

9. What will be output of the following query?

SELECT NVL(1234,' ') FROM dual;
  1. 空白、すなわち ''
  2. 1234
  3. NULL値
  4. ORA-01722:番号が無効です

Answer: D. 元のパラメーターとifnullパラメーターのデータ型は常に互換性がある必要があります。それらは同じタイプであるか、ifnullを元のパラメーターのタイプに暗黙的に変換できる必要があります。NVL関数は、元のパラメーターと同じデータ型の値を返します。1234は一重引用符で囲む必要があります。この場合、データ型の暗黙的な変換は行われません。

10. What will be outcome of the following query?

SELECT NVL(SUBSTR('abc',-4),'SUBSTR didn't work') FROM dual;
  1. abc
  2. bc
  3. c
  4. SUBSTRが機能しませんでした

Answer: D.

11. You need to extract a report which gives the first name, last name and the commission percentage earned by all the employees in department 100. The report should not have any columns which are empty. All the columns should have at least a '0' if there is no value for them. Which of the following queries will fulfill this requirement? (Consider the table structure 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)
  1. SELECT first_name, last_name, commission_pct*salary FROM employees WHERE department_id  = 100;
  2. SELECT first_name, last_name, NVL(commission_pct*salary,0) monthly_commission FROM employees WHERE department_id  = 100;
  3. SELECT first_name, last_name, NVL(commission_pct,0)*salary monthly_commission FROM employees WHERE department_id  = 100;
  4. SELECT first_name, last_name, commission_pct*salary FROM employees;

Answer: B, C.

12. What are the types of Data conversions in Oracle DB?

  1. 暗黙の変換
  2. 明示的な変換
  3. 外部変換
  4. 物理的な変換

Answer: A, B. TO_CHAR、TO_NUMBER、およびTO_DATEは、最も広く使用されている3つの変換関数であり、詳細に説明されています。TO_CHAR関数は数値と日付の情報を文字に変換し、TO_NUMBERとTO_DATEは文字データをそれぞれ数値と日付に変換します。

13. What happens during an implicit conversion in Oracle DB?

  1. Oracle DBは、1つのデータ型を予期されるデータ型に暗黙的に変換します
  2. ユーザーは、データ型を予期されるデータ型に変換する必要があります
  3. OracleDBはデータ型を変換しません
  4. 暗黙的な変換はユーザーが制御できます

Answer: A. Oracleデータベースが値を互換性のあるデータ型に暗黙的に変換する場合、それは暗黙的変換と呼ばれます。

14. What happens during an explicit conversion in Oracle DB?

  1. Oracle DBは、あるデータ型を別のデータ型に変換し、ユーザーに明示的に表示します
  2. Oracle DBは、あるデータ型を別のデータ型に変換するようにユーザーに促してから、データ型を変換します。
  3. ユーザーは、OracleDBが提供する変換関数を使用してデータ型を変換します
  4. OracleDBでデータ型が明示的に変換されることはありません

Answer: C. プログラマーが変換関数の1つを使用してプログラムで値を変換する必要がある場合、それは明示的変換と呼ばれます。

15. Which of the following conversion methods is recommended for the reliability of SQL statements in Oracle DB?

  1. 暗黙的および明示的な変換
  2. 暗黙の変換
  3. 明示的な変換
  4. 上記のどれでもない

Answer: C. TO_CHAR、TO_NUMBER、およびTO_DATEは、最も広く使用されている3つの変換関数であり、詳細に説明されています。TO_CHAR関数は数値と日付の情報を文字に変換し、TO_NUMBERとTO_DATEは文字データをそれぞれ数値と日付に変換します。

16. Which of the following is a valid implicit conversion performed by Oracle?

  1. NUMBER TO VARCHAR2
  2. 現在までの数
  3. 日付までの文字
  4. 日付からVARCHAR2

Answer: A, D.

17. 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
FROM employees
WHERE hire_date > '01-JAN-13';
  1. 変換は行われず、このクエリはORAエラーになります
  2. 明示的な変換
  3. 暗黙の変換
  4. 暗黙的変換と明示的変換の両方

Answer: C. 文字列(VARCHAR2またはCHAR)は、Oracleによって暗黙的にDATEに変換され、必要な出力が選択されたとおりになります。

18. Which of the following is supported with respect to expression evaluation is supported by Oracle DB?

  1. 文字数
  2. 日付からVARCHAR2
  3. 日付までの文字
  4. 現在までの数

Answer: A, B. DATEとNUMBERの値は、同等の文字に簡単に変換できます。文字列が次の日付パターンに準拠している場合、暗黙的な文字から日付への変換が可能です:[D | DD]セパレーター1 [MON | MONTH]セパレーター2 [R | RR | YY | YYYY]。

19. What is mandatory for and implicit conversion of CHAR to NUMBER in Oracle to work?

  1. このタイプの変換には特に必須ではありません
  2. 文字列が有効な数値を表すことは必須です
  3. そのような変換はOracleではサポートされていません
  4. CHARからNUMBERへの変換は明示的にのみ行う必要があります

Answer: B. 文字データは、暗黙的な変換の対象となる有効な数値を表す必要があります。

20. Which of the following expressions can be used explicitly for a conversion of a CHAR to a NUMBER?

  1. TO_CHAR
  2. TO_DATEを使用して、日付をNUMBERに変換します
  3. TO_NUMBER
  4. そのような変換は不可能です

Answer: C. TO_NUMBER関数は、タイプNUMBERのアイテムを返します。数値に変換された文字列は、数値以外のコンポーネントが適切なフォーマットマスクで変換または削除されるように、適切にフォーマットする必要があります。

21. Which of the following expressions can be used explicitly for a conversion of a NUMBER to a CHAR?

  1. TO_CHAR
  2. TO_DATEを使用して、日付をNUMBERに変換します
  3. TO_NUMBER
  4. そのような変換は不可能です

Answer: A. TO_CHAR関数は、データ型VARCHAR2の項目を返します。タイプNUMBERのアイテムに適用すると、いくつかのフォーマットオプションを使用できます。

22. Which of the following expressions can be used explicitly for a conversion of a CHAR to a DATE?

  1. TO_CHAR
  2. TO_DATEを使用して、日付をNUMBERに変換します
  3. TO_NUMBER
  4. TO_DATE

Answer: D. TO_DATE関数は、タイプDATEのアイテムを返します。日付に変換される文字列には、DATEを構成する日時要素のすべてまたはサブセットのみを含めることができます。日時要素のサブセットのみを含む文字列が変換される場合、Oracleは完全な日付を作成するためのデフォルト値を提供します。文字列のコンポーネントは、フォーマットモデルまたはマスクを使用してさまざまな日時要素に関連付けられます。

23. Which of the following expressions can be used explicitly for a conversion of a DATE to a CHAR?

  1. TO_CHAR
  2. TO_DATE
  3. TO_NUMBER
  4. そのような変換は不可能です

Answer: A. TO_CHAR関数は、データ型VARCHAR2の項目を返します。タイプNUMBERのアイテムに適用すると、いくつかのフォーマットオプションを使用できます。

24. Which of the following are the functions for explicit conversion provided by Oracle to convert one data type to the other?

  1. TO_CHAR
  2. TO_DATE
  3. TO_NUMBER
  4. 上記のすべて

Answer: D. TO_CHAR、TO_NUMBER、およびTO_DATEは、最も広く使用されている3つの変換関数であり、詳細に説明されています。TO_CHAR関数は数値と日付の情報を文字に変換し、TO_NUMBERとTO_DATEは文字データをそれぞれ数値と日付に変換します。

25. Interpret the working of the below function.

TO_CHAR(number/date, [format], [nlsparameters])
  1. VARCHAR2をCHARに変換します
  2. 数値/日付をフォーマットモデル[format]を使用してVARCHAR2文字列に変換します。
  3. VARCHAR2をNUMBERまたはDATEに変換します
  4. [NLSPARAMETERS]はステートメントで必須です

Answer: B. TO_CHAR関数は、データ型VARCHAR2の項目を返します。タイプNUMBERのアイテムに適用すると、いくつかのフォーマットオプションを使用できます。

26. What does the [NLSPARAMETERS] clause in the following statement specify?

TO_CHAR(number/date, [format], [nlsparameters])
  1. 小数点文字
  2. グループ区切り文字
  3. 通貨記号
  4. 上記のすべて

Answer: D.

27. What value will the TO_CHAR (number/date, [format], [nlsparameters]) use if the [nlsparameters] parameter is omitted?

  1. ORAエラーをスローします
  2. [nlsparameters]パラメーターは必須であり、省略できません。
  3. セッションのデフォルトのパラメータ値を使用します。
  4. データベースの設計時に設定されたデフォルトのパラメータ値を使用します。

Answer: C. デフォルトでは、TO_CHAR関数は現在アクティブなセッションのNLS設定を考慮します。

28. What is true about the following statement?

TO_CHAR(number/date, [format], [nlsparameters])
  1. nlsparametersパラメーターは、月と日の名前が返される言語を指定します。
  2. nlsparametersパラメーターは、上記のステートメントの実行時に省略されます。
  3. nlsparametersパラメーターは、指定されているかどうかに関係なくNULLを返します。
  4. nlsparametersパラメーターは、実行のたびにDBのデフォルト言語を返します。

Answer: A.

29. What is true regarding the following statement in Oracle DB?

TO_NUMBER(char, [format],[nlsparameters])
  1. 任意の文字列を[format]で指定された形式の数値に変換します
  2. [format]に記載されているように、NUMBERのみを目的の形式に変換します。
  3. 数字の文字列を[format]で指定された形式の数値に変換します
  4. この関数の結果は常に文字です

Answer: C. TO_NUMBER関数は、タイプNUMBERのアイテムを返します。数値に変換された文字列は、数値以外のコンポーネントが適切なフォーマットマスクで変換または削除されるように、適切にフォーマットする必要があります。

30. What is true regarding the following statement in Oracle DB?

TO_DATE(char, [format],[nlsparameters])
  1. 任意の文字列を[format]で指定された形式のDATEに変換します。
  2. [format]に記載されているように、日付のみを目的の形式の別のDATEに変換します。
  3. DATEの文字列を[format]で指定された形式の数値に変換します。
  4. DATEの文字列を[format]で指定された形式のDATEに変換します。

Answer: C. TO_DATE関数は、タイプDATEのアイテムを返します。日付に変換される文字列には、DATEを構成する日時要素のすべてまたはサブセットのみを含めることができます。

31. What will be the result if the [format] parameter in the following statement is omitted?

TO_DATE(char, [format],[nlsparameters])
  1. DD-MON-YYの形式でDATE値を返します
  2. DD-MON-RRの形式でDATE値を返します
  3. 文字値を返します
  4. NUMBER値を返します

Answer: A.

32. Which of the following is true about the following statement in Oracle DB?

TO_CHAR(date, 'frmt')
  1. fmtは、一重引用符だけでなく二重引用符でも記述できます。
  2. この関数では、fmtのケースは関係ありません。
  3. Fmtには、任意の文字または数字を含めることができます
  4. fmtは一重引用符で囲む必要があり、有効な日付形式である必要があります。

Answer: D.

33. What will the following statement on execution yield?

SELECT TO_CHAR ('01-JAN-13' 'DD-MON-YY') FROM dual;
  1. 01-JAN-13
  2. 01-01-2013
  3. ORAエラー
  4. 1-JAN-13

Answer: C. パラメータ「01-JAN-13」とフォーマットモデルは「、」で区切る必要があります。

34. What is true about the [fmt] parameter in the following statement?

TO_DATE ([date as string],[format])
  1. fmtは、一重引用符だけでなく二重引用符でも記述できます。
  2. この関数では、fmtのケースは関係ありません。
  3. [fmt]パラメーターには、スペースを削除して先行ゼロを抑制する 'fm'要素があります。
  4. Fmtには、任意の文字または数字を含めることができます

Answer: C.

35. What is the abbreviation for the FM modifier in Oracle DB?

  1. 最初の動き
  2. フィルターモード
  3. 充填モード
  4. ファーストモード

Answer: C. フォーマットモデル「fm」はフィルモードを表します。

36. What is the abbreviation for the FX modifier in Oracle DB?

  1. 最初の式
  2. 塗りつぶし式
  3. ファーストエクストラ
  4. 正確なフォーマット

Answer: D. フォーマットモデル「fm」はFormatExactの略です。

37. How many maximum places for display will Oracle DB allocate to the Month element in the following statement?

SELECT TO_CHAR (sysdate, 'fmMonth') FROM dual;
  1. 5
  2. 6
  3. 7
  4. 9

Answer: D. Monthの最長の単語は「September」であるため、OracleはMonthパラメータの表示用に9つの場所に従ってパディングします。

38. Which of the following is true about the FM modifier in Oracle DB?

  1. この修飾子は、MONTHなどの後続の文字要素の空白の埋め込みを抑制します
  2. この修飾子は、MIなどの後続の要素数の先行ゼロを抑制します
  3. この修飾子は日付形式には影響しません
  4. この修飾子は、関数TO_CHARで使用されるすべての日付形式に必須です。

Answer: A, B.

39. What happens when the FM modifier is not used in the DATE format model in Oracle DB?

  1. 文字要素の結果は、可変長まで空白で埋められたままになります
  2. 文字要素の結果は、固定長まで空白で右に埋め込まれます
  3. 文字要素の結果で先行ゼロは返されません
  4. FM修飾子を使用した場合、戻り値の長さは固定されます

Answer: B.

40. How is a number result justified in the output buffer in a number format element of a TO_CHAR function when the FM modifier is used?

  1. Right
  2. Left
  3. Centre
  4. 上記のどれでもない

Answer: B. FM修飾子は、数値の左側に追加されたブランクを抑制します。

41. What will be the outcome of the following query?

SELECT TO_CHAR (TO_DATE('01-JAN-13'), 'fmDD Month YYYY') FROM dual;
  1. 2013年1月1日
  2. 2013年1月1日
  3. 2013年1月1日
  4. 1月13日

Answer: B. TO_CHARは、指定されたフォーマットモデルに従って入力日付をフォーマットします。

42. How many spaces will be added to the 'DD' of the following query?

SELECT TO_CHAR (TO_DATE('01-JAN-13','DD-MON-YY'), 'fmDD Month YYYY') FROM dual;
  1. 0
  2. 1
  3. 2
  4. 3

Answer: A. FM修飾子は、日付形式からすべての埋め込みスペースを削除します。

43. What will be the outcome of the following query?

SELECT TO_CHAR (TO_DATE('01-JAN-13','DD-MON-YY'), 'fmDdspth "of" Month YYYY fmHH:MI:SS AM') FROM dual;
  1. 日付形式で二重引用符を使用しているため、ORAエラーが返されます
  2. 2013年1月1日
  3. 2013年1月の最初12:00:00 AM
  4. 2013年1月1日12:00:00 AM

Answer: D. TO_CHARは、指定された形式に従って、入力日付「01-JAN-13」をフォーマットします。

44. Which of the following specifies the exact match for the character argument and the date format model of a TO_DATE function?

  1. TO_DATE
  2. TO_CHAR
  3. FM
  4. FX

Answer: D.

45. What is true about the FX modifier in the Oracle DB?

  1. 大文字と小文字が区別されます
  2. 上記の日付形式モデルと一致する場合、文字引数のスペースは無視されます
  3. 文字引数の句読点と引用テキストは、必ずしもフォーマットモデルと一致するとは限りません。
  4. 上記のどれでもない

Answer: D.

46. What will be the outcome of the following query?

SELECT TO_DATE ('January   21, 2013' , 'fxMonth DD, YYYY') FROM dual;
  1. 正常に実行されます
  2. 2013年1月21日に結果が出ます
  3. ORAエラーが発生します
  4. 2013年1月21日に結果が出ます

Answer: C. FXを使用する場合、文字引数はフォーマットモデルと正確に一致する必要があります。ここでは、1月以降の余分なスペースが一致していません。

47. What is true about the FX modifier in Oracle DB?

  1. TO_CHARとともに使用できます
  2. TO_CHARとTO_DATEの両方で使用できます
  3. TO_DATEでのみ使用できます
  4. 上記のどれでもない

Answer: C. FXフォーマット修飾子はTO_DATE関数でのみ使用できます。

48. Assuming the SYSDATE is 01-JAN-13, what will be the outcome of the following query?

SELECT TO_CHAR (SYSDATE, 'DDTH') FROM dual;
  1. 1月1日
  2. 1st
  3. 1 ST
  4. 01ST

Answer: D.

49. Assuming the SYSDATE is 01-JAN-13, what will be the outcome of the following query?

SELECT TO_CHAR (SYSDATE, 'fmDDTH') FROM dual;
  1. 1月1日
  2. 1st
  3. 1ST
  4. 01ST

Answer: C.

50. Assuming the SYSDATE is 01-JAN-13 and falls on Tuesday, what will be the outcome of the following query?

SELECT TO_CHAR (SYSDATE, 'fmDay')||'''s Meeting' FROM dual;
  1. Tuesday
  2. TUESDAY
  3. 火曜日の会議
  4. 火曜日の会議

Answer: D.

51. What will be the outcome of the following query?

SELECT TO_DATE('01 / JAN / 13','DD-MON-YY') FROM dual;
  1. ORAエラー
  2. 01-JAN-2013
  3. 01-JANUARY-13
  4. 01-JAN-13

Answer: D.

52. What will be the outcome of the following query?

SELECT TO_DATE('01 ## JAN / 13','DD-MON-YY') FROM dual;
  1. ORAエラー
  2. 01-JAN-2013
  3. 01-JANUARY-13
  4. 01-JAN-13

Answer: A. 日付の間に単一の区切り文字を使用します。

53. What will be the outcome of the following query?

SELECT TO_DATE('01/JAN/13','fxDD-MON-YY') FROM dual;
  1. 01-JAN-2013
  2. ORAエラー
  3. 01-JAN-13
  4. 01-JANUARY-13

Answer: B. formatexact修飾子を使用する場合、入力リテラルはフォーマット文字列と一致する必要があります。

54. What will be the outcome of the following query?

SELECT TO_DATE('01-JAN-13','fxDD-MON-YY') FROM dual;
  1. 01-JAN-2013
  2. ORAエラー
  3. 01-JAN-13
  4. 01-JANUARY-13

Answer: C.

55. What will be the outcome of the following query?

SELECT TO_DATE ('11-JAN-2013','fxDD-MON-YYYY') FROM dual;
  1. 11-JAN-13
  2. 11-01-13
  3. 11-JAN-2013
  4. ORAエラー

Answer: C.

56. An employee Allen was hired on 1-JAN -13. What will be the outcome of the following query? (Assume that the NLS parameter for the session is set to DD-MON-YY)

SELECT TO_DATE(hire_date, 'fxfmDD-MON-YY') FROM employees WHERE first_name='ALLEN';
  1. ORAエラー
  2. 01-JAN-2013
  3. 1-JAN-13
  4. 1-JAN-2013

Answer: C.

57. What will be the outcome of the following query?

SELECT TO_CHAR(TO_DATE ('01-JAN-2013'), 'DD-Month-RR') FROM dual;
  1. 01-JAN-13
  2. 01-01-2013
  3. 01-January-13
  4. -13年1月1日

Answer: D. 月修飾子には、最大9桁のスペースが埋め込まれます。

Examine the structure of the EMPLOYEES table as given and answer the questions 58 and 59 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)

58. You need to list out the first and the last names for all the employees who were hired before the year 1990. Which of the following WHERE statements will give you the required results? (Assume that this list is to be generated on '01-JAN-2013')

  1. WHERE TO_DATE(hire_date、 'DD-MON-YY')<'01 -JAN-1990'
  2. WHERE TO_DATE(hire_date、 'DD-MON-YYYY')<'01 -JAN-1990'
  3. WHERE TO_DATE(hire_date、 'DD-MON-YY')<'01 -JAN-90'
  4. WHERE TO_DATE(hire_date、 'DD-MON-RR')<'01 -JAN-1990'

Answer: D. RR形式を使用すると、1950年から1999年までの日付の年の部分が考慮されます。

59. Which of the following is an example of a nested function?

  1. SELECT lower(last_name) FROM employees;
  2. SELECT upper (last_name) FROM employees;
  3. SELECT concat (first_name, last_name) FROM employees;
  4. SELECT upper (concat(SUBSTR(first_name,1,6),'_UK')) FROM employees;

Answer: D. 関数内の複数の関数は、関数のネストと呼ばれます。

60. What is true about the COALESCE function in Oracle DB?

  1. 引数は2つしか取れません
  2. COALESCE関数のすべての引数は、異なるデータ型にすることができます
  3. COALESCE関数のすべての引数は、同じデータ型である必要があります
  4. 上記のどれでもない

Answer: C. COALESCE関数は、2つの必須パラメーターと任意の数のオプションパラメーターを取ります。構文はCOALESCE(expr1、expr2、Ö、exprn)で、nullでない場合はexpr1が返され、nullでない場合はexpr2が返されます。

61. Which of the following functions is used for conditional expressions?

  1. TO_CHAR
  2. COALESCE
  3. NVL
  4. CASE

Answer: D. CASE式は、if-then-else条件付きロジックを容易にします。CASE式には2つのバリエーションがあります。単純なCASE式は、条件付き検索項目を1回リストし、検索項目との同等性は各比較式によってテストされます。検索されたCASE式には、比較式ごとに個別の条件がリストされます。

62. What will be the outcome of the following query?

SELECT TO_CHAR(TO_DATE('01-JAN-13','DD-MON-YY'),'dy-mon-yyyy') FROM dual;
  1. 01-jan-2013
  2. 01-jan-13
  3. tue-jan-13
  4. tue-jan-2013

Answer: D. フォーマットモデル「dy」は、入力日からその日の最初の3文字を綴ります。「DY」は、上記のクエリのように「TUE」ではなく「TUE」を提供します。

63. What will be the outcome of the following query?

SELECT TO_CHAR(TO_DATE('01-JAN-13','DD-MON-YY'),'fmDAY-mon-yyyy') FROM dual;
  1. 1-jan-2013
  2. 01-jan-13
  3. 火曜日-jan-13
  4. TUESDAY-jan-2013

Answer: D. fmDAY(すべて大文字の場合)またはfmday(すべて小文字の場合)形式モデルは、末尾または先頭にスペースを入れずに、入力日の日を綴ります。

64. What will be the outcome of the following query?

SELECT TO_CHAR(TO_DATE('19-JUN-13'),'qth') FROM dual;
  1. 1st
  2. 2nd
  3. 3rd
  4. 4th

Answer: B. フォーマットモデル「q」は、指定された日付が該当する四半期を示します。与えられたクエリでは、APR-JUNは第2四半期です。

Examine the structure of the EMPLOYEES table as given and answer the questions 65 to 67 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)

65. Some employees joined company ABC in the second week of the current year i.e. 2013. You need to list out the first names, last names and the department IDs for all these employees. Which of the following queries will give you the required result?

  1. SELECT first_name, last_name, department_id  FROM employees WHERE TO_DATE(hire_date,'w') >2;
  2. SELECT first_name, last_name, department_id  FROM employees WHERE TO_DATE(hire_date,'w') between 1 and 2;
  3. SELECT first_name, last_name, department_id  FROM employees WHERE TO_CHAR(hire_date,'w') <3;
  4. SELECT first_name, last_name, department_id  FROM employees WHERE TO_CHAR(sysdate,'ww') =2;

Answer: D. フォーマットモデル「ww」は、その年の週を示します。

66. The management of a company 'ABC' wants to find out how many employees were hired in the 3rd quarter of the year 2012. Which of the following queries will give the required result?

  1. SELECT count(employee_id  ) FROM employees WHERE TO_CHAR(hire_date, 'q') > 1;
  2. SELECT count(employee_id  ) FROM employees Where TO_CHAR(hire_date, 'q') = 3;
  3. SELECT employee_id   FROM employees Where TO_CHAR(hire_date, 'q') = 3;
  4. SELECT count(employee_id  ) FROM employees Where TO_CHAR(hire_date, 'q') between 0 and 3;

Answer: B. フォーマットモデル「q」は、1年の四半期を示します。

67. A certificate of achievement has to be printed and presented to all those employees who joined the organization before the year 2008 and are still a part of the organization. The printing of the first name, last name and the dates will happen by using placeholders fetched from a query. The Certificate should contain all the digits spelled out. Example: Tuesday, the 1st of January, Two Thousand and eight. The final text of the Certificate should be in the following form: This is to certify that first_name last_name who joined the organization on Tuesday, the 1st of January, Two Thousand and eight has successfully completed 5 glorious years in the company. Which of the following queries will be helpful in printing the dates as in the required format?

  1. SELECT TO_CHAR (hire_date, 'fmDay,"the "ddth "of " Month, Yysp.') FROM employees;
  2. SELECT TO_CHAR (hire_date, 'Day,"the "ddth "of " Mon, Yyyy.') FROM employees;
  3. SELECT TO_CHAR (hire_date, 'fmDAY,"the "ddth "of " Month, Ysp.') FROM employees;
  4. SELECT TO_CHAR (hire_date, 'fmDay,"the "ddth "of " MONTH, Rsp.') FROM employees;

Answer: A. 'sp'識別子は、単純な英語で年を綴ります。

68. A report has to be generated which creates an audit history table for all the employees from an available paper source. The paper source only has data for the year 2011 when the employees were hired. This data only has the year of the hire date. You need to put the date in the audit-history table as 1st of January of that particular year (without leading zeroes and spaces). Which of the following clauses will achieve this requirement?

  1. TO_DATE('2011','YYYY')
  2. TO_CHAR(TO_DATE( '2011'、 'YYYY')、 'fmMM / DD / YYYY')
  3. TO_CHAR('2011','DD-MON-YYYY')
  4. TO_DATE('01 -01-2011 '、' DD-MM-YYYY ')

Answer: B.

69. What will be the outcome of the following query?

SELECT TO_NUMBER ('$3000') FROM dual;
  1. 3000
  2. $3000
  3. NULL
  4. ORAエラー

Answer: D. 指定された文字列を数値で認識できないため、クエリは「ORA-01722:無効な数値」のエラーをスローします。

70. What will be the outcome of the following query?

SELECT TO_NUMBER('$3,000.67','$999,999.99') FROM dual;
  1. $3000.67
  2. 3000
  3. 3000.67
  4. 入力文字列の文字数が前述のフォーマットモデルよりも少ないため、ORAエラーが発生します。

Answer: C. 適切なフォーマットモデルは、TO_NUMBERが指定された文字列を数値に変換するのに役立ちます。

71. What will be the outcome of the following query?

SELECT TO_NUMBER('$3,000,000.67','$999,999.99') FROM dual;
  1. $3,000,000.67
  2. 3000,000.67
  3. 3000.67
  4. フォーマットモデルの文字数が入力文字列より少ないため、ORAエラーが発生します。それは同じでなければなりません。

Answer: D.

72. What will the following query yield?

SELECT TO_NUMBER('456.23','999.99') FROM dual;
  1. ORAエラー
  2. 456.23
  3. 456
  4. 上記のどれでもない

Answer: B.

73. What is true about the nested functions?

  1. ネストとは、ある関数からの出力を別の関数への入力として使用することを意味します。
  2. ネスティングは、最大3レベルのネスティングに適用できます。
  3. ネストは、任意のレベルの深さまで複数の行関数に適用されます
  4. 上記のどれでもない

Answer: A. 関数実行からの出力は、その前の関数の入力として使用されます。

74. What will be the result of the following query?

SELECT NULLIF(1,2-1) FROM dual;
  1. 0
  2. 1
  3. NULL
  4. 上記のどれでもない

Answer: C. NULLIF関数は、2つの項が等しいかどうかをテストします。それらが等しい場合、関数はnullを返します。そうでない場合、テストされた2つの項の最初の項を返します。ここで、1と式「2-1」はoracleによって等しいと見なされるため、NULLが返されます。

75. What will be the outcome of the following query?

SELECT NULLIF('01-JAN-2013','01-JAN-13') FROM dual;
  1. 1-JAN-13
  2. 01-JAN-2013
  3. NULL
  4. ORAエラー

Answer: B. 両方の日付の長さが異なるため、最初のパラメーターが返されます。

76. What is the ratio of mandatory parameters to optional parameters in the COALESCE function in Oracle DB?

  1. 0:1
  2. 1:2
  3. 2:任意の数
  4. 上記のどれでもない

Answer: C. COALESCE関数は、2つの必須パラメーターと任意の数のオプションパラメーターを取ります。OALESCEは、次の2つの式が示すように、NVL関数の一般的な形式です。COALESCE(expr1、expr2)= NVL(expr1、expr2)、COALESCE(expr1、expr2、expr3)= NVL(expr1、NVL(expr2、expr3) )。

77. Which of the following equations are true?

  1. COALESCE(expr1、expr2)= NVL(expr1、expr2)
  2. COALESCE(expr1、expr2)= NVL2(expr1、expr2、expr3)
  3. COALESCE(expr1、expr2、expr3)= NVL(expr1、NVL(expr2、expr3))
  4. 上記のすべて

Answer: A, C.

78. Which of the following is the correct syntax of NVL2?

  1. NVL(original,ifnotnull)
  2. NVL2(original,ifnull,ifnotnull)
  3. NVL(original,NULL)
  4. NVL(original、ifnull)およびNVL2(original、ifnotnull、ifnull)

Answer: D.

79. Which of the following functions is an ANSI standard keyword inherited in Oracle?

  1. CASE
  2. DECODE
  3. AもBも
  4. 上記のどれでもない

Answer: A. CASEはANSISQLに準拠しており、Oracle固有ではありません。

80. What is true about the DECODE statement in Oracle DB?

DECODE(expr1,comp1,iftrue1,comp2,[iftrue2])
  1. Comp2はオプションではありません
  2. expr1がcomp1と等しい場合、comp2が返されます
  3. expr1がcomp1と等しい場合、iftrue1が返されます
  4. 上記のどれでもない

Answer: C. DECODE関数は、最初の2つの項が等しいかどうかをテストすることにより、if-then-else条件付きロジックを実装し、等しい場合は3番目の項を返し、等しくない場合はオプションで別の項を返します。DECODE関数は、少なくとも3つの必須パラメーターを取りますが、さらに多くのパラメーターを取ります。

81. What is true about the parameters in the DECODE function?

  1. すべてのパラメーターはVARCHAR2でなければなりません
  2. DECODE関数のパラメーターに式を指定することはできません
  3. すべてのパラメーターはNUMBERでなければなりません
  4. 返されるデータ型は、最初に一致した比較項目のデータ型と同じです。

Answer: D. DECODE関数は、最初の2つの項が等しいかどうかをテストすることにより、if-then-else条件付きロジックを実装し、等しい場合は3番目の項を返し、等しくない場合はオプションで別の項を返します。

82. What will be the outcome of the following query?

SELECT DECODE (null,null,'expr3') FROM dual;
  1. NULL
  2. 0
  3. Expr3
  4. ORAエラー

Answer: C. DECODEは、2つのNULL値を同等と見なします。OracleにおけるNULLの異常の1つ。

83. What will be the outcome of the following query?

SELECT DECODE ('elephant','rat','lion','tiger','cat','squirrel','elephant','koala','rat','And it continues') FROM dual;
  1. elephant
  2. rat
  3. koala
  4. そしてそれは続く

Answer: D. DECODE関数は、少なくとも3つの必須パラメーターを取りますが、さらに多くのパラメーターを取ります。

84. What is the number of minimum mandatory parameters for the CASE expression in Oracle DB?

  1. 0
  2. 1
  3. 2
  4. 3

Answer: D. CASE式は、if-then-else条件付きロジックを容易にします。CASE式には2つのバリエーションがあります。単純なCASE式は、条件付き検索項目を1回リストし、検索項目との同等性は各比較式によってテストされます。検索されたCASE式には、比較式ごとに個別の条件がリストされます。少なくとも3つの必須パラメーターが必要ですが、それ以上かかる場合もあります。

85. Which of the following keyword combinations is used to enclose a CASE statement in Oracle DB?

  1. CASEÖENDIF;
  2. IFÖENDIF;
  3. CASEÖ;
  4. CASEÖEND;

Answer: D.

86. Which of the following values is returned in case of a false value if the ELSE block in the CASE statement is undefined?

  1. 0
  2. NULL
  3. 0またはNULLのいずれか
  4. 上記のどれでもない

Answer: B.

87. Which of the following options is true if more than one WHEN..THEN levels exist in a CASE statement?

  1. CASEは、最初のレベルのみを検索または比較し、WHENÖTHENの他のレベルをチェックせずに存在します。
  2. CASEステートメントは、一致するものが見つかるまで、WHENÖTHENのすべてのレベルを検索します。
  3. AもBも
  4. 上記のどれでもない

Answer: B.

88. What data types can be the search, comparison and result parameters in the CASE statement?

  1. VARCHAR2
  2. DATE
  3. NUMBER
  4. 列の値、リテラル、および式

Answer: D.

89. The CASE statement cannot be used in which of the following parts of an Oracle SQL query?

  1. SELECT
  2. これらのオプションはどれも
  3. WHERE
  4. ORDER BY

Answer: B.

90. 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)

Oracle DBでの次のクエリの結果はどうなりますか?

SELECT first_name, salary,
CASE department_id WHEN 100
THEN 'Accounts'
WHEN 101
THEN 'Human Resources'
WHEN 102
THEN 'Sales'
ELSE 'Unknown'
 END
 FROM employees;
  1. 複数のWHENÖTHENステートメントをCASEステートメントに書き込むことができないため、ORAエラーが発生します。
  2. 部門IDは100,101,102と表示されます
  3. 部門ID100が表示されている場合は常に「アカウント」のみが表示され、残りのコマンドは無視されます。
  4. 上記のどれでもない

Answer: D. CASE式は、if-then-else条件付きロジックを容易にします。CASE式には2つのバリエーションがあります。単純なCASE式は、条件付き検索項目を1回リストし、検索項目との同等性は各比較式によってテストされます。検索されたCASE式には、比較式ごとに個別の条件がリストされます。

91. What is the maximum number of WHENÖTHEN levels a CASE statement in Oracle DB can have?

  1. Unlimited
  2. 1000
  3. 216
  4. 255

Answer: D.

92. What will be the outcome of the following query?

SELECT NVL2(
       NULLIF ('BMW','AUDI'),
       'HYUNDAI',
       'FERRARI'
       )
       FROM dual;
  1. BMW
  2. FERRARI
  3. NULL
  4. HYUNDAI

Answer: D. NVL2機能は、NVLの拡張機能を提供しますが、非常によく似た目的を果たします。任意のデータ型の列または式がnullであるかどうかを評価します。最初の項がnullでない場合は、2番目のパラメーターが返され、そうでない場合は、3番目のパラメーターが返されます。

93. Assuming the SYSDATE is 01-JAN-13 , what will the following query yield?

SELECT TO_CHAR (sysdate, 'fmddth" of" Month YYYY') FROM dual;
  1. 2013年1月1日
  2. 2013年1月1日
  3. 2013年1月1日
  4. 2013年1月1日

Answer: D. 「th」形式モデルは、日付の日を「st」または「th」として示します。

94. What will be the outcome of the following query?

SELECT TO_CHAR (TO_DATE('01-JAN-13','DD-MON-YY'), 'MmSP Month Yyyysp') FROM dual;
  1. 最初の1月2千13
  2. 最初の1月2千13
  3. 1月1日二千十三
  4. 上記のどれでもない

Answer: C.

95. What will be the outcome of the following query?

SELECT TO_CHAR (TO_DATE('01-JAN-13','DD-MON-YY'), 'DD-MON-YYYY hh24SpTh') FROM dual;
  1. 最初の1月2千13
  2. 1月1日二千十三
  3. ORAエラー
  4. 2013年1月1日zeroeth

Answer: D. タイムスタンプコンポーネントのスペルアウトは、「SpTh」フォーマット修飾子を使用して実行できます。

96. Which of these functions do the work similar to if-then-else logic in SQL statements?

  1. TO_CHAR
  2. TO_NUMBER
  3. AもBも
  4. CASE

Answer: D. CASE式は、if-then-else条件付きロジックを容易にします。CASE式には2つのバリエーションがあります。単純なCASE式は、条件付き検索項目を1回リストし、検索項目との同等性は各比較式によってテストされます。検索されたCASE式には、比較式ごとに個別の条件がリストされます。

97. 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)

次のSQLクエリの結果はどうなりますか?

SELECT DECODE (salary,10000) FROM employees;
  1. 10000
  2. NULL
  3. 0
  4. ORAエラー

Answer: B. DECODE関数は、最初の2つの項が等しいかどうかをテストすることにより、if-then-else条件付きロジックを実装し、等しい場合は3番目の項を返し、等しくない場合はオプションで別の項を返します。DECODE関数は、少なくとも3つの必須パラメーターを取りますが、さらに多くのパラメーターを取ります。DECODE関数のデフォルト値を省略すると、NULLが返されます。

98. You need to display the time of the Oracle DB session up to 3 decimal places of the fractional seconds. Which of the following queries will give the required output?

  1. SELECT TO_CHAR(sysdate, 'DD-MON-YY HH24:MI:SS.FF') FROM dual;
  2. SELECT TO_CHAR(sysdate, 'DD-MON-YY HH24:MI:SS') FROM dual;
  3. SELECT TO_CHAR(sysdate, 'DD-MON-YY HH24:MI:SS.FF3') FROM dual;
  4. SELECT TO_CHAR(sysdate, 'DD-MON-YY') FROM dual;

Answer: C. HH:MI:SS形式へのFF [1..9]拡張は、小数秒で最大1..9桁の小数秒を生成します。

99. Which of the following punctuation marks can be used with Dates and Times in Oracle DB?

  1. #
  2. @
  3. ,
  4. :

Answer: C, D.

100. 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)

従業員のJaimiePatrickが会社「ABC」に雇われた年の日を見つける必要があります。次のクエリのどれが必要な出力を提供しますか?

  1. SELECT TO_CHAR(hire_date, 'DDD') FROM employees WHERE last_name = 'Patrick' AND first_name = 'John';
  2. SELECT TO_CHAR(hire_date, 'YYYY') FROM employees WHERE last_name = 'Patrick' AND first_name = 'John';
  3. SELECT TO_CHAR(hire_date, 'DD-MON-YYYY') FROM employees WHERE last_name = 'Patrick' AND first_name = 'John';
  4. SELECT TO_CHAR(hire_date, 'DD-MON-RR') FROM employees WHERE last_name = 'Patrick' AND first_name = 'John';

Answer: A. フォーマットモデル「DDD」は、指定された日付が該当する年の日を返します。

101. A report is required to be generated which gives the timings for all the batch runs that started on midnight 1st June, 2013. These timings should be in the precision of seconds after midnight. Which of the following clauses will fulfill the requirement?

  1. TO_CHAR(sysdate,'HH24:MI:SS')
  2. TO_CHAR(sysdate,'HH24:MI:SS.FF')
  3. TO_CHAR(sysdate,'HH24:MI:SSSS')
  4. TO_CHAR(sysdate,'HH24:MI:SS.FF3')

Answer: C. 「SSSS」フォーマットモデルは、真夜中以降の秒数を示します。