Files
databases.softwareshinobi.com/landing/docs/Introduction-To-Databases/018-essential-mysql-functions.md

192 lines
2.6 KiB
Markdown
Raw Normal View History

2025-03-14 16:46:19 -04:00
# 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