คำถามเกี่ยวกับฟังก์ชันการแปลง

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

SELECT ROUND(144.23,-1) FROM dual;
  1. 140
  2. 144
  3. 150
  4. 100

Answer: A. ฟังก์ชัน ROUND จะปัดเศษค่า 144.23 ตามความแม่นยำที่ระบุ -1 และส่งกลับ 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;

ผลลัพธ์ของแบบสอบถามนี้คืออะไร?

  1. ข้อผิดพลาดเนื่องจากไม่สามารถใช้ฟังก์ชัน ROUND กับอาร์กิวเมนต์วันที่
  2. ข้อผิดพลาดเนื่องจากนิพจน์เงื่อนไข WHERE ไม่ถูกต้อง
  3. จำนวนวันนับตั้งแต่จ้างพนักงานตามวันที่และเวลาปัจจุบันของซานดิเอโก
  4. จำนวนวันนับตั้งแต่จ้างพนักงานตามวันที่และเวลาปัจจุบันของรัฐนิวเจอร์ซีย์

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?

  1. SELECT first_name, last_name FROM employees WHERE INSTR(first_name,'s') <> 0 AND SUBSTR(last_name,2,1) = 't';
  2. SELECT first_name, last_name FROM employees WHERE INSTR(first_name,'s') <> '' AND SUBSTR(last_name,2,1) = 't';
  3. SELECT first_name, last_name FROM employees WHERE INSTR(first_name,'e') IS NOT NULL AND SUBSTR(last_name,2,1) = 't';
  4. 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?

  1. COUNT (*) นับค่าที่ซ้ำกันและค่า NULL ในคอลัมน์ของประเภทข้อมูลใด ๆ
  2. ฟังก์ชัน COUNT ไม่สามารถทำงานกับประเภทข้อมูล DATE
  3. COUNT (DISTINCT job_id) ส่งคืนจำนวนแถวที่ไม่รวมแถวที่มีรายการซ้ำและค่า NULL ในคอลัมน์ job_id
  4. คำสั่ง SELECT โดยใช้ฟังก์ชัน COUNT ที่มีคีย์เวิร์ด DISTINCT ไม่สามารถมีคำสั่ง WHERE ได้

Answer: A.ฟังก์ชัน COUNT (*) จะส่งคืนจำนวนแถวในตารางที่ตรงตามเกณฑ์ของคำสั่ง SELECT รวมทั้งแถวและแถวที่ซ้ำกันที่มีค่า null ในคอลัมน์ใด ๆ ถ้าคำสั่ง WHERE รวมอยู่ในคำสั่ง SELECT COUNT (*) จะส่งกลับจำนวนแถวที่ตรงตามเงื่อนไขใน WHERE clause ในทางตรงกันข้าม COUNT (expr) จะส่งกลับจำนวนค่าที่ไม่ใช่ค่าว่างที่อยู่ในคอลัมน์ที่ระบุโดย expr COUNT (DISTINCT expr) ส่งคืนจำนวนของค่าที่ไม่ซ้ำกันและไม่ใช่ค่าว่างที่อยู่ในคอลัมน์ที่ระบุโดย expr

5. Which of the following commands is used to count the number of rows and non-NULL values in Oracle database?

  1. ไม่เป็นโมฆะ
  2. INSTR
  3. SUBSTR
  4. 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;
  1. 100
  2. 999
  3. NULL
  4. 1099

Answer: C. การคำนวณทางคณิตศาสตร์ใด ๆ ที่มี NULL จะให้ผลลัพธ์เป็น NULL

7. Which of the following statements are true regarding the single row functions?

  1. พวกเขายอมรับข้อโต้แย้งเพียงข้อเดียว
  2. สามารถซ้อนกันได้เพียงสองระดับ
  3. อาร์กิวเมนต์สามารถเป็นค่าคอลัมน์หรือค่าคงที่เท่านั้น
  4. พวกเขาสามารถส่งคืนค่าชนิดข้อมูลที่แตกต่างจากค่าที่อ้างอิง

Answer: D. ฟังก์ชันแถวเดียวสามารถใช้อาร์กิวเมนต์ได้มากกว่าหนึ่งอาร์กิวเมนต์และประเภทการส่งคืนอาจแตกต่างจากชนิดข้อมูลของอินพุต

8. Which of the below queries will format a value 1680 as $16,80.00?

  1. SELECT TO_CHAR(1680.00,'$99G99D99') FROM dual;
  2. SELECT TO_CHAR(1680.00,'$9,999V99') FROM dual;
  3. SELECT TO_CHAR(1680.00,'$9,999D99') FROM dual;
  4. 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;
  1. 78945*****
  2. **78945.45
  3. ฟังก์ชัน RPAD ไม่สามารถซ้อนกับฟังก์ชันอื่นได้
  4. 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?

  1. NVL
  2. NVLIF
  3. NVL2
  4. LNNVL

Answer: C. ฟังก์ชัน NVL2 รับอาร์กิวเมนต์ขั้นต่ำสามอาร์กิวเมนต์ ฟังก์ชัน NVL2 จะตรวจสอบนิพจน์แรก ถ้าไม่ใช่ค่าว่างฟังก์ชัน NVL2 จะส่งกลับอาร์กิวเมนต์ที่สอง ถ้าอาร์กิวเมนต์แรกเป็นโมฆะอาร์กิวเมนต์ที่สามจะถูกส่งกลับ

11. Which of the following type of single-row functions cannot be incorporated in Oracle DB?

  1. Character
  2. Numeric
  3. Conversion
  4. ไม่มีข้อใดข้างต้น

Answer: D. ประเภทของฟังก์ชันแถวเดียวเช่นอักขระตัวเลขวันที่การแปลงและเบ็ดเตล็ดตลอดจนโปรแกรมเมอร์เขียนสามารถรวมไว้ใน Oracle DB

12. Out of the below clauses, where can the single-row functions be used?

  1. SELECT
  2. WHERE
  3. สั่งโดย
  4. ทั้งหมดที่กล่าวมา

Answer: D. สามารถใช้ฟังก์ชันแถวเดียวในคำสั่ง SELECT, WHERE clause และ ORDER BY clause

13. What is true regarding the NVL function in Oracle DB?

  1. ไวยากรณ์ของ NVL คือ NVL (exp1, exp2) โดย exp1 และ exp2 เป็นนิพจน์
  2. NVL (exp1, exp2) จะคืนค่าของ exp2 ถ้านิพจน์ exp1 เป็น NULL
  3. NVL (exp1, exp2) จะคืนค่าของนิพจน์ exp2 ถ้า exp1 ไม่เป็นโมฆะ
  4. NVL (exp1, exp2) จะส่งกลับ exp1 ถ้านิพจน์ exp2 เป็นโมฆะ

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;
  1. มันจะทำให้เกิดข้อผิดพลาด ORA ในการดำเนินการ
  2. จะแสดงรายการรหัสงานสำหรับพนักงานทั้งหมดจากตาราง EMPLOYEES
  3. มันจะแสดงรายการรหัสงานของพนักงานทั้งหมดและแทนที่รหัสงาน NULL ด้วย 'Unknown' อย่างแท้จริง
  4. จะแสดงนามสกุลของพนักงานทั้งหมดและรหัสงานของพวกเขารวมถึงค่า NULL ในรหัสงาน

Answer: C. ฟังก์ชัน NVL แทนที่ค่า null ด้วยค่าทางเลือก คอลัมน์ประเภทข้อมูลวันที่อักขระและตัวเลขสามารถใช้ NVL เพื่อระบุค่าอื่นได้ ประเภทข้อมูลของคอลัมน์และทางเลือกต้องตรงกัน

15. What will the outcome of the following query?

SELECT NVL (NULL,'1') FROM dual;
  1. NULL
  2. 1
  3. 0
  4. ให้ข้อผิดพลาดเนื่องจากไม่สามารถระบุ NULL ให้กับฟังก์ชัน NVL ได้อย่างชัดเจน

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;
  1. จะแสดง 0 ในคอลัมน์เงินเดือนสำหรับพนักงานทุกคนที่มีชื่อขึ้นต้นด้วย 'P'
  2. จะแสดงเงินเดือนสำหรับพนักงานที่มีชื่อขึ้นต้นด้วย 'P' และ 0 หากเงินเดือนเป็นโมฆะ
  3. มันจะทำให้เกิดข้อผิดพลาด ORA เนื่องจากคำสั่ง ORDER BY ควรมีคอลัมน์เงินเดือนด้วย
  4. ควรใช้ฟังก์ชัน 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;
  1. ทั้งสองนิพจน์ arg1 และ arg2 ควรอยู่ในรูปแบบข้อมูล VARCHAR2 หรือ NUMBER เท่านั้น
  2. อาร์กิวเมนต์ arg1 และ arg2 ควรมีชนิดข้อมูลเดียวกัน
  3. ถ้า arg1 คือ VARCHAR2 ดังนั้น Oracle DB จะแปลง arg2 เป็นประเภทข้อมูลของ arg1 ก่อนที่จะเปรียบเทียบและส่งคืน VARCHAR2 ในชุดอักขระของ arg1
  4. ไม่สามารถใช้ฟังก์ชัน NVL กับอาร์กิวเมนต์ของประเภทข้อมูล DATE

Answer: C. หาก arg1 เป็นชนิดข้อมูล VARCHAR2 Oracle จะทำการแปลงประเภทโดยนัยสำหรับรหัส arg2 arg2 เป็นประเภทข้อมูล 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;
  1. มันจะส่งคืนค่า 'พนักงานประจำ' สำหรับพนักงานทุกคนที่มีรหัสงาน NULL
  2. จะส่งคืนค่า 'New Joinee' สำหรับพนักงานทุกคนที่มีรหัสงาน NULL
  3. มันจะส่งคืน 'พนักงานประจำ' หากรหัสงานเป็นโมฆะ
  4. มันจะทำให้เกิดข้อผิดพลาด ORA ในการดำเนินการ

Answer: B. ฟังก์ชัน NVL2 ตรวจสอบนิพจน์แรก ถ้านิพจน์แรกไม่เป็นโมฆะฟังก์ชัน NVL2 จะส่งคืนนิพจน์ที่สอง ถ้านิพจน์แรกเป็นโมฆะนิพจน์ที่สามจะถูกส่งกลับ

19. Which of the following is true for the statement given as under.

NVL2 (arg1, arg2, arg3)
  1. Arg2 และ Arg3 สามารถมีประเภทข้อมูลใดก็ได้
  2. Arg1 ไม่สามารถมีชนิดข้อมูล LONG
  3. Oracle จะแปลงชนิดข้อมูลของ expr2 ตาม Arg1
  4. ถ้า 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;
  1. เงินเดือนจะถูกส่งคืนหากค่าคอมมิชชั่นสำหรับพนักงานไม่เป็นโมฆะ
  2. Commission_pct จะถูกส่งคืนหากค่าคอมมิชชั่นสำหรับพนักงานไม่เป็นโมฆะ
  3. พนักงานที่มีชื่อขึ้นต้นด้วย 'P' และเงินเดือน + (เงินเดือน * Commission_pct) จะถูกส่งคืนหากพนักงานได้รับค่าคอมมิชชั่น
  4. แบบสอบถามแสดงข้อผิดพลาดเนื่องจากนิพจน์ทางคณิตศาสตร์ถูกเขียนภายใน NVL2

Answer: C. ฟังก์ชัน NVL2 ตรวจสอบนิพจน์แรก ถ้านิพจน์แรกไม่เป็นโมฆะฟังก์ชัน NVL2 จะส่งคืนนิพจน์ที่สอง ถ้านิพจน์แรกเป็นโมฆะนิพจน์ที่สามจะถูกส่งกลับ

21. What is true about the NULLIF function in Oracle DB?

  1. NULLIF (expr1, expr2) จะคืนค่า expr2 ถ้าทั้งสองนิพจน์ไม่เป็นโมฆะ
  2. NULLIF (expr1, expr2) จะคืนค่า 0 ถ้าทั้งสองนิพจน์เป็นโมฆะ
  3. NULLIF (expr1, expr2) จะคืนค่า NULL หากทั้งสองนิพจน์เท่ากัน
  4. Expr1 สามารถเป็น NULL ใน NULLIF (expr1, expr2)

Answer: C. ฟังก์ชัน NULLIF จะทดสอบความเท่าเทียมกันสองคำ ถ้าค่าเท่ากันฟังก์ชันจะส่งคืนค่าว่างมิฉะนั้นจะส่งกลับคำแรกของสองคำที่ทดสอบ ฟังก์ชัน NULLIF รับพารามิเตอร์บังคับสองชนิดของข้อมูลประเภทใดก็ได้ ไวยากรณ์คือ NULLIF (arg1, arg2) ซึ่งมีการเปรียบเทียบอาร์กิวเมนต์ arg1 และ arg2 หากเหมือนกันระบบจะส่งคืนค่า NULL หากต่างกันระบบจะส่งคืน arg1

22. Pick the correct answer given after the statement shown as under.

NULLIF (arg1,arg2)
  1. Arg1 และ Arg2 อาจเป็นประเภทข้อมูลที่แตกต่างกัน
  2. Arg1 และ Arg2 ต้องเท่ากันเพื่อที่จะใช้ในฟังก์ชัน NULLIF
  3. ไม่มีการแปลงประเภทข้อมูลภายในหากใช้ NULLIF ในกรณีของ NVL และ NVL2
  4. สิ่งนี้เทียบเท่ากับ CASE WHEN Arg1 = Arg22 แล้ว NULL ELSE Arg1 END

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;

ผลลัพธ์ของข้อความค้นหาที่ให้ไว้ข้างต้นจะเป็นอย่างไร

  1. จะแสดง ID งานเก่าเมื่อ ID งานใหม่เป็น NULL
  2. มันจะดำเนินการสำเร็จและสร้างผลลัพธ์ที่ต้องการ
  3. จะแสดง ID งานใหม่หาก ID งานใหม่เท่ากับ ID งานเก่า
  4. มันจะทำให้เกิดข้อผิดพลาด ORA ในการดำเนินการ

Answer: B.

24. Which of the following is not a property of functions?

  1. ทำการคำนวณข้อมูล
  2. แปลงประเภทข้อมูลคอลัมน์
  3. แก้ไขรายการข้อมูลแต่ละรายการ
  4. ไม่มีข้อใดข้างต้น

Answer: D. ฟังก์ชันสามารถทำการคำนวณทำการแปลงกรณีและประเภทการแปลง

25. What is the most appropriate about single row functions?

  1. พวกเขาไม่คืนค่า
  2. พวกเขาส่งคืนหนึ่งผลลัพธ์ต่อแถวและดำเนินการกับทุกแถวของตาราง
  3. พวกเขาส่งคืนหนึ่งผลลัพธ์ต่อแถวพร้อมอาร์กิวเมนต์อินพุต
  4. พวกเขาส่งคืนหนึ่งผลลัพธ์ต่อชุดของแถวและดำเนินการกับหลายแถว

Answer: B. ฟังก์ชันแถวเดียวจะส่งคืนหนึ่งผลลัพธ์ต่อแถวเสมอและทำงานในแถวเดียวเท่านั้น ด้วยเหตุนี้จึงมีการตั้งชื่อ 'แถวเดียว' ให้กับพวกเขา

26. What among the following is a type of Oracle SQL functions?

  1. ฟังก์ชันหลายแถว
  2. ฟังก์ชันคอลัมน์เดียว
  3. ฟังก์ชันค่าเดียว
  4. ฟังก์ชันหลายคอลัมน์

Answer: A. โดยทั่วไปมีฟังก์ชันสองประเภทคือฟังก์ชันแถวเดียวและหลายแถว

27. What among the following is a type of single-row function?

  1. VARCHAR2
  2. Character
  3. LONG
  4. NULLIF

Answer: B. อักขระวันที่การแปลงทั่วไปตัวเลขเป็นประเภทของฟังก์ชันแถวเดียว

28. What is the most appropriate about Multiple Row Functions?

  1. ส่งคืนค่าหลายค่าต่อแต่ละแถว 
  2. พวกเขาส่งคืนหนึ่งผลลัพธ์ต่อกลุ่มของแถวและสามารถจัดการกลุ่มของแถวได้ 
  3. พวกเขาส่งคืนหนึ่งผลลัพธ์ต่อแถวและสามารถจัดการกลุ่มของแถวได้ 
  4. พวกเขาส่งคืนค่าหลายค่าต่อกลุ่มของแถว

Answer: B. ฟังก์ชันหลายแถวทำงานในกลุ่มของแถวเสมอและส่งคืนค่าหนึ่งค่าต่อกลุ่มของแถว

29. Which of the following are also called Group functions?

  1. ฟังก์ชันแถวเดียว
  2. ฟังก์ชั่นหลายกลุ่ม
  3. ฟังก์ชันหลายแถว
  4. ฟังก์ชันกลุ่มเดียว

Answer: C. ฟังก์ชันกลุ่มเหมือนกับฟังก์ชันหลายแถวและฟังก์ชันรวม

30. Which of the following is true about Single Row Functions?

  1. พวกมันสามารถซ้อนกันได้
  2. พวกเขายอมรับข้อโต้แย้งและส่งคืนค่ามากกว่าหนึ่งค่า
  3. ไม่สามารถแก้ไขประเภทข้อมูลได้
  4. พวกเขาไม่สามารถยอมรับนิพจน์เป็นอาร์กิวเมนต์ได้

Answer: A. ฟังก์ชันแถวเดียวสามารถซ้อนกันได้หลายระดับ

31. What is the number of arguments Single Row functions accept?

  1. 0
  2. เพียง 1
  3. เท่านั้น 2
  4. 1 หรือมากกว่า 1

Answer: D. ฟังก์ชันแถวเดียวสามารถยอมรับอาร์กิวเมนต์ตั้งแต่หนึ่งข้อขึ้นไปขึ้นอยู่กับวัตถุประสงค์ที่ให้บริการ

32. Which of the following can be an argument for a Single Row Function?

  1. ประเภทข้อมูล
  2. คำสั่ง SELECT
  3. Expression
  4. ชื่อตาราง

Answer: C. ค่าคงที่ที่ผู้ใช้จัดหาค่าตัวแปรค่าคอลัมน์และนิพจน์คือประเภทของอาร์กิวเมนต์ของฟังก์ชันแถวเดียว

33. What is true about Character functions?

  1. พวกเขาส่งคืนค่าอักขระเท่านั้น
  2. พวกเขายอมรับ NUMBER ค่า
  3. พวกเขายอมรับอาร์กิวเมนต์ของอักขระและสามารถส่งคืนทั้งค่าอักขระและตัวเลข
  4. พวกเขายอมรับค่าของประเภทข้อมูลทั้งหมด

Answer: C. ฟังก์ชันอักขระ INSTR ยอมรับค่าสตริง แต่ส่งกลับตำแหน่งตัวเลขของอักขระในสตริง

34. What is true about Number functions?

  1. พวกเขาส่งคืนทั้งตัวละครและค่าตัวเลข
  2. พวกเขาไม่สามารถยอมรับนิพจน์เป็นอินพุตได้
  3. ไม่สามารถซ้อนฟังก์ชันตัวเลข
  4. ยอมรับอาร์กิวเมนต์ Number และส่งคืนค่า Number เท่านั้น

Answer: D.

35. Which of the following is an exception to the return value of a DATE type single-row function?

  1. TO_DATE
  2. SYSDATE
  3. MONTHS_BETWEEN
  4. TO_NUMBER

Answer: C. ฟังก์ชันชนิดข้อมูล DATE ทั้งหมดจะส่งคืน DATE เป็นค่าที่ส่งคืนยกเว้น MONTHS_BETWEEN ซึ่งส่งคืนตัวเลข

36. Which of the following is not a Conversion type Single Row function?

  1. TO_CHAR
  2. TO_DATE
  3. NVL
  4. TO_NUMBER

Answer: C. ฟังก์ชันการแปลงจะแปลงค่าจากประเภทข้อมูลหนึ่งไปเป็นอีกประเภทหนึ่ง ฟังก์ชัน NVL แทนที่ค่า null ด้วยค่าทางเลือก

37. Which of the following is a Case-Conversion Character function?

  1. CONCAT
  2. SUBSTR
  3. INITCAP
  4. REPLACE

Answer: C. CONCAT, SUBSTR และ REPLACE เป็นฟังก์ชัน Character-manipulation Character ในขณะที่ INITCAP, LOWER และ UPPER เป็นฟังก์ชันการแปลงอักขระกรณี

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

SELECT lower('HI WORLD !!!')  FROM dual;
  1. สวัสดีโลก !!!
  2. สวัสดีโลก !!!
  3. สวัสดีโลก !!!
  4. สวัสดีโลก !!!

Answer: C. ฟังก์ชัน LOWER แปลงสตริงเป็นอักขระตัวพิมพ์เล็ก

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

SELECT lower(upper(initcap('Hello World') )) FROM dual;
  1. สวัสดีชาวโลก
  2. สวัสดีชาวโลก
  3. สวัสดีชาวโลก
  4. สวัสดีชาวโลก

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;
  1. เลือก first_name || last_name จากพนักงาน;
  2. SELECT first_name || ' '|| last_name จากพนักงาน;
  3. SELECT last_name || ',' || first_name จากพนักงาน;
  4. เลือก first_name || ',' || last_name จากพนักงาน;

Answer: A. ฟังก์ชัน CONCAT รวมสองสตริงโดยไม่มีช่องว่างระหว่างกัน

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;
  1. รหัสงานสำหรับ ABEL คือ sa_rep
  2. รหัสงานสำหรับ ABEL คือ sa_rep
  3. รหัสงานสำหรับ abel คือ SA_REP
  4. รหัสงานสำหรับ abel คือ 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';
  1. จะแสดงรายละเอียดของพนักงานที่มีนามสกุลเป็น Smith
  2. มันจะไม่ให้ผล
  3. จะให้รายละเอียดสำหรับพนักงานที่มีนามสกุลเป็น 'Smith' ในตัวพิมพ์เล็กทั้งหมด
  4. จะให้รายละเอียดสำหรับพนักงานที่มีนามสกุลเป็น 'Smith' ในกรณี INITCAP ทั้งหมด

Answer: B. หากนามสกุลในตารางพนักงานเป็นกรณีที่เหมาะสมเงื่อนไข WHERE last_name = 'smith' จะไม่ถูกทำให้พอใจและจะไม่มีการแสดงผลลัพธ์

43. What is true about the CONCAT function in Oracle DB?

  1. สามารถมีได้เฉพาะอักขระเป็นอินพุต
  2. สามารถมีพารามิเตอร์อินพุตได้เพียง 2 พารามิเตอร์
  3. สามารถมีพารามิเตอร์อินพุตตั้งแต่ 2 ตัวขึ้นไป
  4. รวมค่าโดยใส่ช่องว่างระหว่างสตริงที่ต่อกันตามค่าเริ่มต้น

Answer: B. ฟังก์ชัน CONCAT ยอมรับเพียงสองอาร์กิวเมนต์ของประเภทข้อมูล NUMBER หรือ VARCHAR2

44. What is true about the SUBSTR function in Oracle DB?

  1. มันแยกสตริงของความยาวที่กำหนด
  2. แสดงความยาวของสตริงเป็นค่าตัวเลข
  3. พบตำแหน่งตัวเลขของอักขระที่มีชื่อ
  4. มันตัดแต่งอักขระจากด้านหนึ่ง (หรือทั้งสอง) จากสตริงอักขระ

Answer: A.ฟังก์ชัน SUBSTR (สตริง, x, y) ยอมรับพารามิเตอร์สามตัวและส่งคืนสตริงที่ประกอบด้วยจำนวนอักขระที่แยกจากสตริงต้นทางโดยเริ่มต้นที่ตำแหน่งเริ่มต้นที่ระบุ (x) เมื่อตำแหน่งเป็นบวกฟังก์ชันจะนับจากจุดเริ่มต้นของสตริงเพื่อค้นหาอักขระตัวแรก เมื่อตำแหน่งเป็นลบฟังก์ชันจะนับถอยหลังจากจุดสิ้นสุดของสตริง

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

SELECT length('hi') FROM dual;
  1. 2
  2. 3
  3. 1
  4. hi

Answer: A. ฟังก์ชัน LENGTH ให้ความยาวของสตริง

46. What is the difference between LENGTH and INSTR functions in Oracle DB?

  1. พวกเขาให้ผลลัพธ์เดียวกันเมื่อดำเนินการกับสตริง
  2. LENGTH ให้ตำแหน่งของอักขระเฉพาะในสตริง
  3. INSTR ให้ตำแหน่งของอักขระเฉพาะในสตริงในขณะที่ LENGTH ให้ความยาวของสตริง
  4. 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;
  1. ส่งผลให้เกิดข้อผิดพลาดเนื่องจากไม่สามารถใช้ตัวแปรทดแทนกับฟังก์ชันแถวเดียวได้
  2. จะแจ้งให้ผู้ใช้ป้อน jobid ในแต่ละการดำเนินการจากนั้นแสดง id งานในกรณี UPPER
  3. ให้ jobid ตามที่มีอยู่ในตารางพนักงานโดยไม่ต้องทำการเปลี่ยนแปลงใด ๆ
  4. จะไม่ขอให้ผู้ใช้ป้อนรหัสงานและจะแปลงรหัสงานทั้งหมดในตารางในกรณี UPPER

Answer: B. ตัวแปรการแทนที่สามารถใช้ได้กับฟังก์ชัน UPPER และ LOWER

48. What is false about the table DUAL in Oracle database?

  1. เป็นของผู้ใช้ SYS และผู้ใช้ทุกคนสามารถเข้าถึงได้
  2. ประกอบด้วยคอลัมน์เดียวและหนึ่งแถว
  3. ค่าในคอลัมน์ DUMMY ของตาราง DUAL คือ 'X'
  4. ตาราง DUAL มีประโยชน์เมื่อคุณต้องการส่งคืนค่าเพียงครั้งเดียว

Answer: C. ตาราง DUAL มีคอลัมน์หนึ่งชื่อ DUMMY และอีกหนึ่งแถวซึ่งมีค่า 'X'

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

SELECT sysdate+4/12 FROM dual;
  1. แบบสอบถามสร้างข้อผิดพลาด
  2. จำนวนชั่วโมงในวันที่ที่มีวันที่เป็นผลลัพธ์
  3. Sysdate arithmetic จะถูกละเว้น
  4. ส่งคืนวันที่ของระบบเป็นผลลัพธ์

Answer: B. การคำนวณเลขคณิตสามารถทำได้ในวันที่ใน Oracle DB

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

SELECT lower (100+100) FROM dual;
  1. 100
  2. 100+100
  3. ข้อผิดพลาด ORA
  4. 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;
  1. 20-may-2013
  2. ข้อผิดพลาด ORA เนื่องจาก LOWER และ UPPER ไม่สามารถยอมรับค่าวันที่
  3. 20-MAY-13
  4. 20-May-13

Answer: C. ฟังก์ชัน UPPER และ LOWER สามารถรับอินพุตประเภทวันที่และจะให้ผลลัพธ์เช่นเดียวกับที่ทำใน Strings

52. What is the result of the following query?

SELECT INITCAP (24/6) FROM dual;
  1. 4
  2. 24
  3. 24/6
  4. ไม่มีผลลัพธ์

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' คำค้นหาใดต่อไปนี้จะให้ผลลัพธ์ที่ต้องการ

  1. SELECT INITCAP (last_name||' works as a '||job_id "Job Description" FROM employees WHERE initcap (last_name) like 'A%';
  2. SELECT INITCAP (last_name) ||INITCAP(' works as a: ')|| INITCAP(job_id) "Job Description" FROM employees WHERE initcap (last_name) like 'A 
    %';
  3. SELECT INITCAP (last_name||' works as a '||INITCAP(job_id)) "Job Description" FROM employees WHERE initcap (last_name) = 'A';
  4. 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;
  1. วันนี้คือ: 20-feb-13
  2. แบบสอบถามแสดงข้อผิดพลาดของอาร์กิวเมนต์ประเภทที่เข้ากันไม่ได้
  3. วันนี้คือ: 20-Feb-56
  4. วันนี้คือ: 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;
  1. First_namelast_namejob_id
  2. First_name, last_name, job_id
  3. ไม่สามารถซ้อนข้อผิดพลาดเนื่องจาก CONCAT ได้
  4. First_namelast_name, job_id

Answer: A. ฟังก์ชัน CONCAT สามารถซ้อนกับฟังก์ชันตัวเองหรืออักขระอื่น ๆ

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 รายงานควรแสดงผลลัพธ์ในรูปแบบ 'Andy Smith ได้รับ 50000' แบบสอบถามใดต่อไปนี้จะให้ผลลัพธ์ที่ต้องการ

  1. SELECT concat (first_name,concat (' ', concat(last_name, concat(' earns ', SALARY)))) Concat_String FROM employees WHERE department_id =  
    100;
  2. SELECT concat (first_name, last_name||' '|| salary) FROM employees WHERE department_id = 100;
  3. SELECT concat (first_name, concat(last_name, ' '))||earns||salary FROM employees WHERE department_id = 100;
  4. SELECT concat (first_name, concat(last_name, 'earns salary') FROM employees WHERE department_id = 100;

Answer: A. ฟังก์ชัน CONCAT สามารถซ้อนกับฟังก์ชันตัวเองหรืออักขระอื่น ๆ

57. What will the following query show as a result?

SELECT LENGTH('It is a lovely day today!') FROM dual;
  1. 25
  2. 19
  3. 20
  4. 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?

  1. SELECT country_name FROM countries WHERE LENGTH (country_name)= 5;
  2. SELECT country_name FROM countries WHERE length (country_name)> 5;
  3. SELECT SUBSTR(country_name, 1,5) FROM countries WHERE length (country_name)< 5;
  4. SELECT country_name FROM countries WHERE length (country_name) <> 5;

Answer: B. สามารถใช้ฟังก์ชัน LENGTH ในส่วนคำสั่ง WHERE

59. How does the function LPAD works on strings?

  1. จัดเรียงสตริงทางด้านซ้ายมือของคอลัมน์
  2. ส่งคืนสตริงที่มีจำนวนอักขระที่ระบุทางด้านขวาของสตริงต้นทาง
  3. จัดเรียงสตริงอักขระไปทางซ้ายและสตริงตัวเลขทางขวาของคอลัมน์
  4. ส่งคืนสตริงที่มีจำนวนอักขระที่ระบุทางด้านซ้ายของสตริงต้นทาง

Answer: D. ฟังก์ชัน LPAD (สตริง, ความยาวหลังการเว้น, สตริงการขยาย) และ RPAD (สตริง, ความยาวหลังการขยาย, สตริงการขยาย) จะเพิ่มสตริงการเว้นวรรคของอักขระทางซ้ายหรือขวาของสตริงจนกว่าจะถึงความยาวที่ระบุหลังจากการขยาย

60. Which of the following options is true regarding LPAD and RPAD functions?

  1. สตริงอักขระที่ใช้สำหรับช่องว่างภายในประกอบด้วยอักขระเท่านั้น
  2. สตริงอักขระที่ใช้สำหรับช่องว่างภายในประกอบด้วยตัวอักษรเท่านั้น
  3. สตริงอักขระที่ใช้สำหรับช่องว่างภายในไม่สามารถรวมนิพจน์ได้
  4. สตริงอักขระที่ใช้สำหรับช่องว่างภายในประกอบด้วยตัวอักษรอักขระและนิพจน์

Answer: D.

61. What is the maximum number of input arguments in LPAD and RPAD functions?

  1. 1
  2. 2
  3. 3
  4. 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;
  1. *******1300.66
  2. 1300*******
  3. 1300.66
  4. ****1300.66

Answer: A. ในการสร้างความยาวทั้งหมด 14 อักขระค่าที่ส่งคืน 1300.66 จะถูกเพิ่มด้วยเครื่องหมายดอกจัน 7 ตัว (*) ทางด้านซ้าย

63. What is true regarding the TRIM function?

  1. คล้ายกับฟังก์ชัน SUBSTR ใน Oracle
  2. จะลบอักขระจากจุดเริ่มต้นหรือจุดสิ้นสุดของตัวอักษรคอลัมน์หรือนิพจน์
  3. ไม่สามารถใช้ฟังก์ชัน TRIM กับนิพจน์และ NUMBERS
  4. ฟังก์ชัน 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."

คำค้นหาใดต่อไปนี้จะให้ผลลัพธ์ที่ต้องการ

  1. SELECT LTRIM(Title,'"') FROM MAGAZINE;
  2. SELECT LTRIM(RTRIM(Title,'."'),'"') FROM MAGAZINE;
  3. SELECT LTRIM (Title,'"THE') FROM MAGAZINE;
  4. 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. 1
  2. 2
  3. 0
  4. 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;
  1. 2
  2. 10
  3. 7
  4. 4

Answer: B. ฟังก์ชัน INSTR ค้นหาเหตุการณ์ที่ 4 ของ '$' โดยเริ่มจากตำแหน่งที่ 3

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

SELECT INSTR('1#3#5#7#9#', -3,2) FROM dual;
  1. #5
  2. #3
  3. #7
  4. #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?

  1. SELECT rpad(salary, 15,0) FROM employees;
  2. SELECT lpad(salary,15,0) FROM employees;
  3. SELECT ltrim(salary,15,0) FROM employees;
  4. 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?

  1. SELECT SUBSTR(first_name, 2) FROM employees;
  2. SELECT SUBSTR(first_name, -2) FROM employees;
  3. SELECT RTRIM(first_name, 2) FROM employees;
  4. SELECT TRIM(first_name, 2) FROM employees;

Answer: B. ฟังก์ชัน SUBSTR (สตริง, x, y) ยอมรับพารามิเตอร์สามตัวและส่งคืนสตริงที่ประกอบด้วยจำนวนอักขระที่แยกจากสตริงต้นทางโดยเริ่มต้นที่ตำแหน่งเริ่มต้นที่ระบุ (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;
  1. 3
  2. N-13
  3. 0
  4. NULL

Answer: D. แบบสอบถามจะให้ค่า NULL เนื่องจากตำแหน่ง 10 ที่จะเริ่มต้นใน SYSDATE ไม่มีอยู่

71. Which of the following is used to replace a specific character in a given string in Oracle DB?

  1. LTRIM
  2. TRIM
  3. TRUNC
  4. REPLACE

Answer: D.

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

SELECT replace(9999.00-1,'8',88) FROM dual;
  1. 999
  2. 9998
  3. 99988
  4. 9999.88

Answer: C. ฟังก์ชัน REPLACE จะค้นหา "8" ใน 9998 และแทนที่ด้วย "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 ตัวแรกของนามสกุล คำถามใดต่อไปนี้จะตอบสนองความต้องการนี้

  1. SELECT first_name, last_name ,SUBSTR(first_name, 1,1)||' '||SUBSTR(last_name, 1,14) formal_name FROM employees;
  2. 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;
  3. 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;
  4. 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;
  1. 148.50
  2. 140
  3. 150
  4. 149

Answer: D. หากไม่มีความแม่นยำทศนิยมระดับเริ่มต้นของการปัดเศษคือ 0 และแหล่งที่มาจะถูกปัดเศษเป็นจำนวนเต็มที่ใกล้ที่สุด

75. Assuming the sysdate is 10-JUN-13, What will be the outcome of the following query?

SELECT trunc (sysdate,'mon') FROM dual;
  1. 10-JUN-13
  2. 1-JUN-13
  3. ข้อผิดพลาด ORA เนื่องจากฟังก์ชัน TRUNC ไม่สามารถมีพารามิเตอร์อินพุตเมื่อใช้กับวันที่
  4. 31-JUN-13

Answer: B. วันที่จะถูกตัดเป็นวันแรกของเดือน ในทำนองเดียวกันสามารถทำได้สำหรับปีด้วย

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

SELECT trunc(1902.92,-3) FROM dual;
  1. 2000
  2. 1000
  3. 1901
  4. 1901.00

Answer: B.

77. What is the syntax of the MOD function in Oracle DB?

  1. Mod(divisor,dividend)
  2. MOD(divisor,1)
  3. MOD(dividend,divisor)
  4. ไม่มีข้อใดข้างต้น

Answer: C. ฟังก์ชัน MOD ใช้เพื่อรับส่วนที่เหลือของการดำเนินการหาร

78. What will be outcome of the following query?

SELECT mod(100.23,-3) FROM dual;
  1. ข้อผิดพลาด ORA
  2. 1.23
  3. 100
  4. 0

Answer: B. ฟังก์ชัน MOD ให้คำตอบเดียวกันสำหรับตัวหารบวกและตัวหารลบ

79. Which of the following functions are used to differentiate between even or odd numbers in Oracle DB?

  1. ROUND
  2. TRUNC
  3. MOD
  4. 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 คนแรกให้กับหนึ่งในสี่ทีมในลักษณะการหมุนเวียน รหัสพนักงานขึ้นต้นด้วย 100 คำถามใดต่อไปนี้จะเป็นไปตามข้อกำหนด

  1. SELECT * FROM employees WHERE employee_id between 100 and 111 ORDER BY employee_id;
  2. 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;
  3. SELECT first_name, last_name,mod(employee_id, 2) Team# FROM employees WHERE employee_ID <> 100;
  4. 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;
  1. ข้อผิดพลาด ORA เนื่องจากควรมีอย่างน้อย 3 อาร์กิวเมนต์สำหรับฟังก์ชัน SUBSTR
  2. ชีวิตคือการโทร
  3. NULL
  4. Life

Answer: B. การเรียกใช้ฟังก์ชัน SUBSTR ด้วยพารามิเตอร์สองตัวแรกส่งผลให้ฟังก์ชันแยกสตริงจากตำแหน่งเริ่มต้นไปยังจุดสิ้นสุดของสตริงต้นทางที่กำหนด

82. What is the default data format for the sysdate in SQL Developer?

  1. DD-MON-YY
  2. DD-MON-RR
  3. DD/MON/RR
  4. 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;
  1. 09- พ.ค. 2556 12:05 น
  2. 10 พ.ค. 2556 12:05 น
  3. 10 ก.ค. 2556 12:05 น
  4. 09- ก.ค. 2556 12:05 น

Answer: B. ฟังก์ชัน ADD_MONTHS (วันที่, 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;
  1. 02-JAN-2013
  2. Friday
  3. 04-JAN-2013
  4. ไม่มีข้อใดข้างต้น

Answer: C. NEXT_DAY (วันที่, 'วัน') จะค้นหาวันที่ของวันที่ระบุถัดไปของสัปดาห์ ('วัน') ถัดจากวันที่ถัดไป ค่าของ char อาจเป็นตัวเลขที่แสดงวันหรือสตริงอักขระ

85. What is the maximum number of parameters the ROUND function can take?

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

Answer: C. หากมีพารามิเตอร์เพียงตัวเดียวการปัดเศษจะเกิดขึ้นกับจำนวนเต็มที่ใกล้ที่สุด

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?

  1. 19
  2. 21
  3. 20
  4. NULL

Answer: C. ถ้าตัวเลขสองหลักของปีปัจจุบันและปีที่ระบุอยู่ระหว่าง 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?

  1. 19
  2. 21
  3. 20
  4. NULL

Answer: A. หากตัวเลขสองหลักของปีปัจจุบันอยู่ระหว่าง 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?

  1. 19
  2. 21
  3. 20
  4. NULL

Answer: A. ถ้าตัวเลขสองหลักของปีปัจจุบันและปีที่ระบุอยู่ระหว่าง 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?

  1. 19
  2. 21
  3. 20
  4. NULL

Answer: C. ถ้าตัวเลขสองหลักของปีปัจจุบันอยู่ระหว่าง 50 ถึง 99 และปีที่ระบุอยู่ระหว่าง 0 ถึง 49 ศตวรรษถัดไปจะถูกส่งกลับ

90. How many parameters does the SYSDATE function take?

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

Answer: D. SYSDATE เป็นคอลัมน์หลอกใน Oracle

91. What is true about the SYSDATE function in Oracle DB?

  1. ส่งคืนเฉพาะวันที่ของระบบ
  2. ต้องใช้ 2 พารามิเตอร์เป็นอย่างน้อย
  3. รูปแบบเริ่มต้นคือ DD-MON-YY
  4. รูปแบบเริ่มต้นของ SYSDATE คือ DD-MON-RR และส่งคืนวันที่และเวลาของระบบตามเซิร์ฟเวอร์ฐานข้อมูล

Answer: D.

92. What will be the datatype of the result of the following operation?

  1. Date
  2. Num1
  3. 0
  4. NULL

Answer: B. การลบวันที่สองวันจะทำให้เกิดจำนวนวัน

93. What will be the datatype of the result of the following operation?

  1. Date
  2. Num1
  3. 0
  4. NULL

Answer: A. การลบตัวเลขจากค่าวันที่ทำให้เกิดวันที่

94. What does a difference between two dates represent in Oracle DB?

  1. จำนวนวันระหว่างพวกเขา
  2. ความแตกต่างของวันที่ที่ไม่สามารถทำได้ใน Oracle DB
  3. วันที่
  4. NULL

Answer: A.

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

SELECT months_between('21-JUN-13','19-JUN-13') FROM dual;
  1. ข้อผิดพลาด ORA
  2. จำนวนบวก
  3. จำนวนลบ
  4. 0

Answer: C. หากพารามิเตอร์ตัวแรกน้อยกว่าพารามิเตอร์ที่สอง MONTHS_BETWEEN จะส่งกลับจำนวนลบ

96. What can be deduced if the result of MONTHS_BETWEEN (start_date,end_date) function is a fraction?

  1. ซึ่งแสดงถึงความแตกต่างของตัวเลขระหว่างวันที่เริ่มต้นและวันที่สิ้นสุด
  2. ผลลัพธ์ไม่สามารถเป็นจำนวนเศษส่วนได้ต้องเป็นจำนวนเต็ม
  3. NULL
  4. ซึ่งแสดงถึงวันและเวลาที่เหลืออยู่หลังจากคำนวณผลต่างจำนวนเต็มระหว่างปีและเดือนและอิงตามเดือน 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?

  1. SELECT sysdate FROM dual;
  2. SELECT round(sysdate) FROM dual;
  3. SELECT trunc (sysdate) FROM dual;
  4. 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;
  1. ประมาณ 0
  2. 1
  3. ข้อความค้นหาจะทำให้เกิดข้อผิดพลาด ORA
  4. 0.5 วัน

Answer: D. MONTHS_BETWEEN (date1, date2) จะค้นหาจำนวนเดือนระหว่างวันที่ 1 ถึงวันที่ 2 ผลลัพธ์อาจเป็นบวกหรือลบ ถ้า date1 ช้ากว่า date2 ผลลัพธ์จะเป็นบวก ถ้า date1 เร็วกว่า date2 ผลลัพธ์จะเป็นลบ ส่วนที่ไม่เกิดขึ้นของผลลัพธ์แสดงถึงส่วนหนึ่งของเดือน

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

SELECT add_months ('31-dec-2008',2.5) FROM dual;
  1. 31-feb-2009
  2. 28-feb-2009
  3. 31-mar-2009
  4. 15-jan-2009

Answer: B. ส่วนที่เป็นเศษส่วนของ 2.5 จะถูกละเว้นและ 2 เดือนจะถูกเพิ่มในวันที่ 31 ธันวาคม 2555 ซึ่งเป็นวันที่ 31 กุมภาพันธ์ 2556 แต่เนื่องจากไม่ใช่วันที่ที่ถูกต้องผลลัพธ์คือ 28-feb-2009

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?

  1. SELECT next_day ('30-nov-2012' , 'Friday') FROM dual;
  2. SELECT next_day ('30-nov-2012' , 'Friday') -7 FROM dual;
  3. SELECT last_day ('01-nov-2012' ) FROM dual;
  4. SELECT next_day ('30-nov-2012' , 'sat') -1 FROM dual;

Answer: B. ฟังก์ชัน NEXT_DAY (วันที่, 'วัน') และ LAST_DAY (วันที่, 'วัน') จะค้นหาวันที่ของวันถัดไปหรือวันสุดท้ายของสัปดาห์ ('วัน') ค่าของ char อาจเป็นตัวเลขที่แสดงวันหรือสตริงอักขระ