# 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

person
navigate_before Table of Contents expand_more navigate_next
Loading Page hourglass_empty