# Creating Date
__*MAKEDATE function*__
__*MAKETIME function*__
__*STR_TO_DATE function*__
+ `MAKEDATE(year, dayofyear)`: Create DATE 
+ `MAKETIME(hour,min,sec)`: Create TIME
+ `STR_TO_DATE(str, fmt)`: Create DATETIME 
+ Date literal:
  + For example: 
    + `select GET_FORMAT(DATE, 'INTERNAL'), GET_FORMAT(TIME, 'INTERNAL'), GET_FORMAT(DATETIME, 'INTERNAL'), MAKEDATE(2020,89)=20200329, MAKETIME(11,44,57)=114457\G`  
```
tidb> SELECT 
   -> GET_FORMAT(DATE, 'INTERNAL'), GET_FORMAT(TIME, 'INTERNAL'), GET_FORMAT(DATETIME, 'INTERNAL'), 
   -> MAKEDATE(2020,89)=20200329, MAKETIME(11,44,57)=114457\G
*************************** 1. row***************************
    GET_FORMAT(~!@DATE@!~, 'INTERNAL'): %Y%m%d
    GET_FORMAT(~!@TIME@!~, 'INTERNAL'): %H%i%s
GET_FORMAT(~!@DATETIME@!~, 'INTERNAL'): %Y%m%d%H%i%s
               MAKEDATE(2020,89): 2020-03-29
              MAKETIME(11,44,57): 11:44:57
1 row in set (0.00 sec)
```

------------------------------------------------------------
The format string in the STR_TO_DATE () function uses the same specifier in the DATE_FORMAT () function.

