Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

SCALAR FUNCTIONS AND ARITHMETIC

TO-DO LIST

ADD TWO NEW ATTRIBUTES IN EMPLOYEE TABLE

ALTER TABLE EMPLOYEE


ADD COLUMN EMP_SALARY DECIMAL(11,2),
ADD COLUMN EMP_ALLOWANCE DECIMAL(11,2)

UPDATE SALARY AND ALLOWANCE FOR EACH EMPLOYEE

UPDATE EMPLOYEE SET EMP_SALARY = 2500, EMP_ALLOWANCE = 900 WHERE EMP_NUM = 100;
UPDATE EMPLOYEE SET EMP_SALARY = 2200, EMP_ALLOWANCE = 900 WHERE EMP_NUM = 101;
UPDATE EMPLOYEE SET EMP_SALARY = 2000, EMP_ALLOWANCE = 900 WHERE EMP_NUM = 102;
UPDATE EMPLOYEE SET EMP_SALARY = 3200, EMP_ALLOWANCE = 900 WHERE EMP_NUM = 103;
UPDATE EMPLOYEE SET EMP_SALARY = 3200, EMP_ALLOWANCE = 900 WHERE EMP_NUM = 104;
UPDATE EMPLOYEE SET EMP_SALARY = 3000, EMP_ALLOWANCE = 900 WHERE EMP_NUM = 105;
UPDATE EMPLOYEE SET EMP_SALARY = 2500, EMP_ALLOWANCE = 900 WHERE EMP_NUM = 106;

END TO-DO LIST

PERFORM ARITHMETIC OPERATION

* YOU CAN USE OTHER SYMBOLS LIKE +, -, *, /, %

SELECT EMP_NUM, EMP_FNAME, EMP_LNAME, EMP_SALARY, EMP_ALLOWANCE, EMP_SALARY +


EMP_ALLOWANCE FROM EMPLOYEE

RENAMING THE COLUMN / ASSIGN NICKNAME TO THE COLUMN(S)

SELECT EMP_NUM, EMP_FNAME, EMP_LNAME, EMP_SALARY, EMP_ALLOWANCE, (EMP_SALARY +


EMP_ALLOWANCE) AS "GROSS SALARY" FROM EMPLOYEE

COALESCE(ATTRIBUTE, USER-DEFINED-VALUE)

REPLACE NULL VALUES TO USER-DEFINED VALUE

BEFORE:

SELECT E.EMP_NUM, E.EMP_FNAME, E.EMP_LNAME, E.PARK_CODE FROM EMPLOYEE E

AFTER:

SELECT E.EMP_NUM, E.EMP_FNAME, E.EMP_LNAME, COALESCE(E.PARK_CODE, 'NOT


ASSIGNED') AS PARK_CODE FROM EMPLOYEE E
FORMAT(ATTRIBUTE, DECIMAL_LENGTH)

FORMATTING A NUMBER

BEFORE:

SELECT EMP_NUM, EMP_FNAME, EMP_LNAME, EMP_SALARY, EMP_SALARY * 1.10 FROM


EMPLOYEE;

AFTER:

DAY(ATTRIBUTE), MONTH(ATTRIBUTE), YEAR(ATTRIBUTE), HOUR(ATTRIBUTE), MINUTE(ATTRIBUTE),


SECOND(ATTRIBUTE)

RETURNS THE DAY/MONTH/YEAR FOR A GIVEN DATE. CAN BE USED AT SELECT CLAUSE AND WHERE
CLAUSE

SELECT EMP_FNAME, EMP_HIRE_DATE, DAY(EMP_HIRE_DATE) FROM EMPLOYEE;

SELECT EMP_FNAME, EMP_HIRE_DATE, DAY(EMP_HIRE_DATE) FROM EMPLOYEE WHERE


YEAR(EMP_HIRE_DATE) = 2008;

RETRIEVE CURRENT DATE AND TIME IN MySQL

SELECT CURDATE(), CURRENT_DATE, CURTIME(), CURRENT_TIME, CURRENT_TIME FROM


EMPLOYEE;

DATEDIFF(END_DATE, START_DATE)

RETURN THE NUMBER OF DAYS BETWEEN TWO DATE VALUES:

SELECT EMP_FNAME, EMP_DOB, DATEDIFF(CURRENT_DATE, EMP_DOB) FROM EMPLOYEE;

DATE_ADD(ATTRIBUTE, INTERVAL value UNIT)

ADDS A TIME/DATE INTERVAL TO A DATE AND THEN RETURNS THE DATE

SELECT DATE_ADD(CURRENT_DATE, INTERVAL 2 DAY), DATE_SUB(CURRENT_DATE,


INTERVAL 2 DAY);

DATE_SUB(ATTRIBUTE, INTERVAL value UNIT)

SUBTRACTS A TIME/DATE INTERVAL FROM A DATE AND THEN RETURNS THE DATE

SELECT CURRENT_DATE, DATE_ADD(CURRENT_DATE, INTERVAL 2 DAY),


DATE_SUB(CURRENT_DATE, INTERVAL 2 DAY), DATE_ADD(CURRENT_DATE, INTERVAL 2
MONTH), DATE_SUB(CURRENT_DATE, INTERVAL 2 MONTH);
SUBSTRING(ATTRIBUTE, START_POS, LENGTH)

* position index starts with 1

SELECT PARK_NAME, SUBSTRING(PARK_NAME, 3, 4) FROM THEMEPARK

You might also like