SQL 日期时间函数

来源:互联网 发布:国外人工智能网站 编辑:程序博客网 时间:2024/05/16 11:37
日期时间类型的数据也是经常要用到的,比如员工的出生日期、结账日期、入库日期等,SQL中也提供了一些函数对这些数据进行处理。

取得当前日期时间

    在系统中经常需要使用当前日期时间进行处理,比如将“入库时间”字段设定为当前日期时间。

    MySQL中提供了NOW()函数,用于取得当前的日期时间,NOW()函数还有SYSDATE()、CURRENT_TIMESTAMP等别名。SQL语句如下:

 

    SELECT NOW(),SYSDATE(),CURRENT_TIMESTAMP;

 

    执行完毕我们能看到下面的结果:

+---------------------+---------------------+---------------------+

| NOW()               | SYSDATE()           | CURRENT_TIMESTAMP   |

+---------------------+---------------------+---------------------+

| 2011-05-11 10:42:42 | 2011-05-11 10:42:42 | 2011-05-11 10:42:42 |

+---------------------+---------------------+---------------------+

    如果想得到不包括时间部分的当前日期,则可以使用CURDATE()函数,CURDATE()还有CURRENT_DATE等别名,SQL语句如下:

 

    SELECT CURDATE(),CURRENT_DATE;

 

    执行完毕我们能看到下面的结果:

+------------+--------------+

| CURDATE()  | CURRENT_DATE |

+------------+--------------+

| 2011-05-11 | 2011-05-11   |

+------------+--------------+

    如果想得到不包括日期部分的当前时间,则可以使用CURTIME()函数,CURTIME()函数还有CURRENT_TIME等别名,SQL语句如下:

 

    SELECT CURTIME(),CURRENT_TIME;

 

    执行完毕我们能看到下面的结果:

+-----------+--------------+

| CURTIME() | CURRENT_TIME |

+-----------+--------------+

| 10:46:53  | 10:46:53     |

+-----------+--------------+

 

计算日期差额

    有时候我们需要计算两个日期的差额,比如计算“回款日”和“验收日”之间所差的天数,或者检索“最后一次登录日期”与当前日期差额大于100天的用户信息。

    MySQL中使用DATEDIFF()函数用于计算两个日期之间的差额,其参数调用格式如下:

 

    DATADIFF(date1,date2)

 

    函数将返回date1与date2之间的天数差额,如果date2在date1之前,返回正值,否则返回负值。

    比如下面的SQL语句用于计算订单的订购日期与到货日期之间的天数差额:

 

    SELECT 订购日期,到货日期, DATEDIFF(订购日期,到货日期),DATEDIFF(到货日期,订购日期) FROM demo_orders WHERE 订单ID=11047;

   

    执行完毕我们能看到下面的结果:

+------------+------------+-----------------------------+-----------------------------+

| 订购日期  | 到货日期 | DATEDIFF(订购日期,到货日期) | DATEDIFF(到货日期,订购日期) |

+------------+------------+-----------------------------+-----------------------------+

| 1998-04-24|1998-05-22|                         -28 |                        28 |

+------------+------------+-----------------------------+-----------------------------+

 

计算星期几

    MySQL中提供的DAYNAME()函数用来计算一个日期是星期几,比如下面的SQL语句用来计算订购日期是星期几:

 

    SELECT 订购日期,DAYNAME(订购日期) FROM demo_orders WHERE 订单ID=11047;

 

    执行结果如下:

+------------+-------------------+

| 订购日期   | DAYNAME(订购日期) |

+------------+-------------------+

| 1998-04-24 | Friday            |

+------------+-------------------+

0 0
原创粉丝点击