All checks were successful
learn org at code.softwareshinobi.com/databases.softwareshinobi.com/pipeline/head This commit looks good
192 lines
2.6 KiB
Markdown
192 lines
2.6 KiB
Markdown
# 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
|
|
|