mysql内置时间函数大全_MySQL 的时间函数 大全

MySQL 的时间函数 大全

2014年02月14号

发表于:评论 (1)

热度:1109

一、MySQL获得当前日期时间函数

1.1  获得当前日期+ 时间(date  +  time)函数:now() mysql

>  select  now();

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

|  now()                |

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

|  2008 - 08 - 08  22 : 20 : 46  |

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

除了now()函数能获得当前的日期时间外,MySQL中还有下面的函数:

current_timestamp ()

, current_timestamp

,localtime()

,localtime

, localtimestamp     --  (v4.0.6)

,localtimestamp()   --  (v4.0.6)

这些日期时间函数,都等同于now()。鉴于now()函数简短易记,建议总是使用now()来替代上面列出的函数。

1.2  获得当前日期+ 时间(date  +  time)函数:sysdate() sysdate()日期时间函数跟now()类似,不同之处在于:now()在执行开始时值就得到了, sysdate()在函数执行时动态得到值。看下面的例子就明白了:mysql

>  select  now(), sleep( 3 ), now();

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

|  now()                |  sleep( 3 )  |  now()                |

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

|  2008 - 08 - 08  22 : 28 : 21  |         0  |  2008 - 08 - 08  22 : 28 : 21  |

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

mysql >  select  sysdate(), sleep( 3 ), sysdate();

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

|  sysdate()            |  sleep( 3 )  |  sysdate()            |

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

|  2008 - 08 - 08  22 : 28 : 41  |         0  |  2008 - 08 - 08  22 : 28 : 44  |

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

可以看到,虽然中途sleep  3  秒,但now()函数两次的时间值是相同的; sysdate()函数两次得到的时间值相差  3  秒。MySQL Manual中是这样描述sysdate()的:Return  the time at which the  function  executes。sysdate()日期时间函数,一般情况下很少用到。

2 .获得当前日期(date)函数:curdate() mysql

>  select  curdate();

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

|  curdate()   |

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

|  2008 - 08 - 08  |

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

其中,下面的两个日期函数等同于curdate():

current_date ()

, current_date

3 .获得当前时间(time )函数:curtime() mysql

>  select  curtime();

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

|  curtime()  |

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

|  22 : 41 : 30   |

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

其中,下面的两个时间函数等同于curtime():

current_time ()

, current_time

4 .获得当前UTC日期时间函数:utc_date(), utc_time(), utc_timestamp() mysql

>  select  utc_timestamp(), utc_date(), utc_time(), now()

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

|  utc_timestamp()      |  utc_date()  |  utc_time()  |  now()                |

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

|  2008 - 08 - 08  14 : 47 : 11  |  2008 - 08 - 08  |  14 : 47 : 11    |  2008 - 08 - 08  22: 47 : 11  |

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

因为我国位于东八时区,所以本地时间  =  UTC时间  +  8  小时。UTC时间在业务涉及多个国家和地区的时候,非常有用。

二、MySQL日期时间Extract(选取)函数。

1 .选取日期时间的各个部分:日期、时间、年、季度、月、日、小时、分钟、秒、微秒

set  @dt  =  ' 2008-09-10 07:15:30.123456 ' ;

select  date( @ dt );         --  2008-09-10

select  time( @dt );         --  07:15:30.123456

select  year ( @dt );         --  2008

select  quarter( @dt );      --  3

select  month ( @dt ) ;        --  9

select  week( @dt );         --  36

select  day ( @dt );          --  10

select  hour( @dt );         --  7

select  minute( @dt );       --  15

select  second( @dt ) ;       --  30 (。・v・。)

喜欢这篇文章吗?欢迎分享到你的微博、QQ群,并关注我们的微博,谢谢支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值