[TOC]
| 函数 | 用途 |
| -- | -- |
| now | 用于返回当前系统日期以及时间 |
| curdata | 用于返回系统当前日期不包含时间 |
| curtime | 用于返回系统当前时间 |
| str_to_date | 将日期格式的字符转换成指定格式的日期 |
| date_format | 将日期函数转成字符 |
>[success] ## now
> 用于返回当前系统日期以及时间
<br>
```sql
SELECT NOW();
```
>[success] ## curdata
> 用于返回系统当前日期不包含时间
```sql
select CURDATE()
```
<br>
>[success] ## curtime
> 用于返回系统当前时间
```sql
SELECT CURTIME()
```
<br>
>[success] ## str_to_date
> 将日期格式的字符转换成指定格式的日期
```sql
SELECT str_to_date('1997-9-5','%Y-%c-%d')as out_puo;
```
:-: ![](https://img.kancloud.cn/14/a4/14a479a9f3402fd3bbfe4a44e7555f16_806x557.png)
有些用户没有按照我们规定的格式传入时间字符,那么我们怎么办,有可能传入的格式是这样的【05-09 1997】
```sql
SELECT * from gin_employees WHERE hiredate = STR_TO_DATE('2-6 2004','%c-%d %Y');
```
:-: ![](https://img.kancloud.cn/1d/91/1d91cb57f480d66d6db0310a6b132469_986x281.png)
<br>
<br>
>[success] ## date_format
> 将日期函数转成字符
```sql
SELECT DATE_FORMAT(NOW(),'%y年-%m月-%d日') as out_put;
```
结果:21年-01月-24日
案例1:查询有奖金的员工名和入职日期(xx月 / xx日 xx年)
```sql
SELECT first_name,DATE_FORMAT(hiredate,'%m月/-%d日/ %y年') 入职日期
from gin_employees;
WHERE commission_pct is not NULL;
```