# Essential MySQL Functions MySQL has many built-in functions. We will covering some important most used built-in functions; for a complete list refer to the online MySQL Reference Manual (http://dev.mysql.com/doc/). > NOTE: As of now we will be going through only function and their output, as they would be self explanatory. ## Numeric Functions ```sql SELECT ROUND(5.73) ``` 6 ```sql SELECT ROUND(5.73, 1) ``` 5.7 ```sql SELECT TRUNCATE(5.7582, 2) ``` 5.75 ```sql SELECT CEILING(5.2) ``` 6 ```sql SELECT FLOOR(5.7) ``` 5 ```sql SELECT ABS(-5.2) ``` 5.2 ```sql SELECT RAND() -- Generates a random floating point number b/w 0 & 1 ``` ## STRING Functions ```sql SELECT LENGTH('sky') ``` 3 ```sql SELECT UPPER('sky') ``` SKY ```sql SELECT LOWER('sky) ``` sky ```sql SELECT LTRIM(' sky') ``` sky ```sql SELECT RTRIM('sky ') ``` sky ```sql SELECT TRIM(' sky ') ``` sky ```sql SELECT LEFT('Kindergarten', 4) ``` Kind ```sql SELECT RIGHT('Kindergarten', 6) ``` garten ```sql SELECT SUBSTRING('Kindergarten', 3, 5) ``` nderg ```sql SELECT LOCATE('n','Kindergarten') -- LOCATE returns the first occurrence of a character or character string, if found, otherwise it returns 0 ``` 3 ```sql SELECT REPLACE('Kindergarten', 'garten', 'garden') ``` Kindergarden ```sql SELECT CONCAT('first', 'last') ``` firstlast ## DATE Functions ```sql SELECT NOW() ``` 2021-10-21 19:59:47 ```sql SELECT CURDATE() ``` 2021-10-21 ```sql SELECT CURTIME() ``` 20:01:12 ```sql SELECT MONTH(NOW()) ``` 10 ```sql SELECT YEAR(NOW()) ``` 2021 ```sql SELECT HOUR(NOW()) ``` 13 ```sql SELECT DAYTIME(NOW()) ``` Thursday ## Formatting Dates and Times > In MySQL, the default date format is "YYYY-MM-DD", ex: "2025-05-12", MySQL allows developers to format it the way they want. We will discuss some of them. ```sql SELECT DATE_FORMAT(NOW(), '%M %D %Y') ``` October 22nd 2021 ```sql SELECT DATE_FORMAT(NOW(), '%m %d %y') ``` 10 22 21 ```sql SELECT DATE_FORMAT(NOW(), '%m %D %y') ``` 10 22nd 21 ```sql SELECT TIME_FORMAT(NOW(), '%H %i %p') ``` 14:11 PM ## Calculating Dates and Times ```sql SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) --return tomorrows date and time ``` 2021-10-23 14:26:17 ```sql SELECT DATE_ADD(NOW(), INTERVAL -1 YEAR) ``` or ```sql SELECT DATE_SUB(NOW(), INTERVAL 1 YEAR) ``` > Both the queries will return the same output 2020-10-22 14:29:47 ```sql SELECT DATEDIFF('2021-09-08 09:00', '2021-07-07 17:00') -- It will return the difference in number of days, time won't be considered ``` 63 ```sql SELECT TIME_TO_SEC('09:00') - TIME_TO_SEC('09:02') ``` -120