SCALAR FUNCTION: DATE, NUMERIC, STRING, CONVERSION, GENERAL & NULL

60 programming challenges to help you master the fundamentals of DATABASE MANAGEMENT SYSTEM USING ORACLE.

1

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name, hire date, and current date. Also calculate the number of days the employee has worked.

(DATE FUNCTION)

2

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name and hire date in the format: Monday, January 01, 2024.

(DATE FUNCTION)

3

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Find employees who joined in the same month as the current system date (ignore year).

(DATE FUNCTION)

4

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name and the next Monday after their hire date.

(DATE FUNCTION)

5

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name and the last day of their joining month.

(DATE FUNCTION)

6

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Find employees who have completed more than 10 years in the company.

(DATE FUNCTION)

7

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name and number of months worked in the company.

(DATE FUNCTION)

8

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name, hire date, and hire date after adding 3 years and 6 months.

(DATE FUNCTION)

9

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Find employees hired between two given dates (use TO_DATE).

(DATE FUNCTION)

10

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display the difference in years between SYSDATE and hire date (rounded).

(DATE FUNCTION)

11

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name and salary rounded to the nearest 1000.

(NUMERIC FUNCTION)

12

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display salary truncated to 2 decimal places.

(NUMERIC FUNCTION)

13

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name and square root of salary.

(NUMERIC FUNCTION)

14

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Find the absolute difference between salary and 5000.

(NUMERIC FUNCTION)

15

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display salary rounded up to the nearest integer.

(NUMERIC FUNCTION)

16

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display salary rounded down to the nearest integer.

(NUMERIC FUNCTION)

17

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Generate a random number between 1 and 500 for each employee.

(NUMERIC FUNCTION)

18

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display remainder when salary is divided by 2000.

(NUMERIC FUNCTION)

19

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display salary raised to the power of 3.

(NUMERIC FUNCTION)

20

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Round salary to nearest hundred and thousand (two columns).

(NUMERIC FUNCTION)

21

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee names in uppercase and lowercase in two columns.

(STRING FUNCTION)

22

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name and its length.

(STRING FUNCTION)

23

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display first 4 characters of employee name.

(STRING FUNCTION)

24

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Concatenate employee name and job using - symbol.

(STRING FUNCTION)

25

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Replace all occurrences of letter ‘A’ with ‘#’ in employee names.

(STRING FUNCTION)

26

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display position of first occurrence of ‘E’ in employee name.

(STRING FUNCTION)

27

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Remove leading and trailing spaces from employee name.

(STRING FUNCTION)

28

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name with first letter capital and rest lowercase.

(STRING FUNCTION)

29

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display last 3 characters of employee name.

(STRING FUNCTION)

30

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Pad employee name with * on the left to make total length 10.

(STRING FUNCTION)

31

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name with spaces removed.

(STRING FUNCTION)

32

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee names starting with ‘S’.

(STRING FUNCTION)

33

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Count number of characters excluding spaces.

(STRING FUNCTION)

34

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name reversed.

(STRING FUNCTION)

35

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Extract domain name from email column.

(STRING FUNCTION)

36

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Convert current date into format: DD/MM/YYYY.

(CONVERSION FUNCTION)

37

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Convert string '15-AUG-2020' into DATE format.

(CONVERSION FUNCTION)

38

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Convert salary into character with currency format (₹10,000).

(CONVERSION FUNCTION)

39

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Convert number 12345 into string with commas.

(CONVERSION FUNCTION)

40

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Convert hire date into format: Month DD, YYYY.

(CONVERSION FUNCTION)

41

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Convert string column to number and perform arithmetic operation.

(CONVERSION FUNCTION)

42

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Handle invalid date format using TO_DATE safely.

(CONVERSION FUNCTION)

43

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Convert SYSDATE into year only.

(CONVERSION FUNCTION)

44

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Convert salary into string and concatenate with text.

(CONVERSION FUNCTION)

45

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display hire date in multiple formats (3 columns).

(CONVERSION FUNCTION)

46

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name and salary. If salary is NULL, display 0.

(GENERAL & NULL FUNCTION)

47

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name and commission. If NULL, display ‘No Commission’.

(GENERAL & NULL FUNCTION)

48

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Use NVL2 to show commission status (Has/No Commission).

(GENERAL & NULL FUNCTION)

49

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Use COALESCE to display first non-null value among salary, commission, bonus.

(GENERAL & NULL FUNCTION)

50

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee salary; if NULL replace with average salary.

(GENERAL & NULL FUNCTION)

51

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Use NULLIF to compare salary and commission.

(GENERAL & NULL FUNCTION)

52

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Replace NULL department name with ‘No Department’.

(GENERAL & NULL FUNCTION)

53

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employees whose commission is NULL.

(GENERAL & NULL FUNCTION)

54

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Use DECODE to categorize salary (Low/Medium/High).

(GENERAL & NULL FUNCTION)

55

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Use CASE to categorize employees based on experience.

(GENERAL & NULL FUNCTION)

56

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display job; if NULL show ‘Unknown Job’.

(GENERAL & NULL FUNCTION)

57

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Use NVL with date columns.

(GENERAL & NULL FUNCTION)

58

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Display employee name and bonus; if NULL calculate 10% of salary.

(GENERAL & NULL FUNCTION)

59

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Use COALESCE with multiple NULL columns.

(GENERAL & NULL FUNCTION)

60

EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)

DEPT (DEPTNO, DNAME, LOC)

Combine NVL and TO_CHAR for formatted output.

(GENERAL & NULL FUNCTION)