偶然看到MySQL的一个函数 unix_timestamp(),不明就里,于是就试验了一番。

unix_timestamp()函数的作用是返回一个确切的时间点的UNIX时间戳,这个Unix时间戳是一个无符号整数。 unix_timestamp()函数有两种重载形式,一是不带任何参数,另外一个是带有一个Date或DateTime或TimeStamp类型的参 数。

unix_timestamp(),返回自1970-1-1 8:00:00开始到当前系统时间为止的秒数。

unix_timestamp(date),返回1970-1-1 8:00:00开始到date所代表的时间为止的秒数,对于早于1970-1-1 8:00:00的时间,总是返回 0 。

注意:因为中国是东八区,所以是8:00:00.

mysql> select unix_timestamp();
        +------------------+
        | unix_timestamp() |
        +------------------+
        |       1303195194 |
        +------------------+
        1 row in set (0.00 sec)

mysql> select unix_timestamp(current_timestamp());
        +-------------------------------------+
        | unix_timestamp(current_timestamp()) |
        +-------------------------------------+
        |                            1303195204 |
        +-------------------------------------+
        1 row in set (0.00 sec)

mysql> select unix_timestamp('2011-4-19 12:00:00');
        +--------------------------------------+
        | unix_timestamp('2011-4-19 12:00:00') |
        +--------------------------------------+
        |                             1303185600 |
        +--------------------------------------+
        1 row in set (0.00 sec)

mysql> select unix_timestamp('1970-1-1 6:00:00');    
        +------------------------------------+
        | unix_timestamp('1970-1-1 6:00:00') |
        +------------------------------------+
        |                                     0 |
        +------------------------------------+
        1 row in set (0.00 sec)

mysql> select unix_timestamp('1970-1-1 8:00:00');
        +------------------------------------+
        | unix_timestamp('1970-1-1 8:00:00') |
        +------------------------------------+
        |                                     0 |
        +------------------------------------+
        1 row in set (0.00 sec)

mysql> select unix_timestamp('1970-1-1 8:00:01');
        +------------------------------------+
        | unix_timestamp('1970-1-1 8:00:01') |
        +------------------------------------+
        |                                     1 |
        +------------------------------------+
        1 row in set (0.00 sec)

mysql> select unix_timestamp('1970-1-1 8:01:00');
        +------------------------------------+
        | unix_timestamp('1970-1-1 8:01:00') |
        +------------------------------------+
        |                                 60 |
        +------------------------------------+
        1 row in set (0.00 sec)

了解了这个函数以后,就想如果知道了UNIX时间戳,如何换算成其对就的时间呢?于是想到了以下方法:

mysql> select date_add('1970-01-01 8:00:00',interval 1303191235 second);
        +-----------------------------------------------------------+
        | date_add('1970-01-01 8:00:00',interval 1303191235 second) |
        +-----------------------------------------------------------+
        | 2011-04-19 13:33:55                                          |
        +-----------------------------------------------------------+
        1 row in set (0.00 sec)

呵呵,没有想到的是,MySQL也提供了一个函数,叫做 from_unixtime(unixtime),这个函数和上面那个函数表达式的结果完全相同:

mysql> select from_unixtime(1303191235);
        +---------------------------+
        | from_unixtime(1303191235) |
        +---------------------------+
        | 2011-04-19 13:33:55        |
        +---------------------------+
        1 row in set (0.00 sec)

mysql中的unix_timestamp函数的更多相关文章

  1. Mysql中常用的函数汇总

    Mysql中常用的函数汇总: 一.数学函数abs(x) 返回x的绝对值bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)ceiling(x) 返回大于x的最小整数值exp(x) 返回 ...

  2. Mysql中的常用函数:

    Mysql中的常用函数: 1.字符串函数: (1).合并字符串 concat():// concat('M','y',"SQL",'5.5');== MySQL5.5//当传入的参 ...

  3. Mysql中使用find_in_set函数查找字符串

    mysql有个表的字段的存储是以逗号分隔的,如domain字段login.s01.yy.com,s01.yy.com,s02.yy.com.现在要查找s01.yy.com这个.我们用like查找好像不 ...

  4. mysql中的group_concat函数的用法

    本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . MySQL中group_concat函数 完整的语法如下: grou ...

  5. SQLServer 中实现类似MySQL中的group_concat函数的功能

    SQLServer中没有MySQL中的group_concat函数,可以把分组的数据连接在一起. 后在网上查找,找到了可以实现此功能的方法,特此记录下. SELECT a, stuff((SELECT ...

  6. mysql中的substr()函数

    mysql中的substr()函数和hibernate的substr()参数都一样,就是含义有所不同. 用法: substr(string string,num start,num length); ...

  7. Mysql中使用聚合函数对null值的处理

    平时因为对于数据库研习的不深,所以在面试的时候问了一些平常遇到过的问题居然没法很肯定地回答出来,实在让自己很恼怒! 这次让我记忆深刻的一个问题是: 在mysql中使用聚合函数的时候比如avg(t),t ...

  8. mysql中的ifnull()函数判断空值

    我们知道,在不同的数据库引擎中,内置函数的实现.命名都是存在差异的,如果经常切换使用这几个数据库引擎的话,很容易会将这些函数弄混淆. 比如说判断空值的函数,在Oracle中是NVL()函数.NVL2( ...

  9. MySQL中的group_concat函数的使用

    本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . MySQL中group_concat函数 完整的语法如下: grou ...

随机推荐

  1. .Net程序员学用Oracle系列(10):系统函数(下)

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.近似值函数 2. ...

  2. BZOJ1013 [JSOI2008]球形空间产生器sphere(高斯消元)

    1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 4846  Solved: 2525[Subm ...

  3. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  4. Time.timeScale、游戏暂停

    原文链接 项目里面一直在用Time.timeScale来做游戏的 1倍 2倍整体加速,今天我仔细看了一下Time.timeScale才发现之前我理解错了一些东西. Time.timeScale可以控制 ...

  5. Uva 10780 Again Prime? No Time.(分解质因子)

    题意:给你两个数m和n,问 n! 可以被 m^k 整除的k的最大值 思路:从这道我们可以想到n!末尾有多少个0的问题,让我们先想一下它的思想,我们找 n! 末尾有多少0, 实际上我们是在找n!中5的个 ...

  6. mysql与oracle在groupby语句上的细节差异

    前言 之所以去纠那么细节的问题,是因为之前有过一个这样的场景: 有个同学,给了一条数据库的语句给我,问,为啥这样子的语句在oracle语句下执行不了. select * from xx where x ...

  7. string,stringbuilder和stringbuffer的区别

    String.StringBuffer.StringBuilder之间的区别(网上收集) StringBuffer.StringBuilder和String一样,也用来代表字符串.String类是不可 ...

  8. centos安装ganttproject

    官网下载 http://www.ganttproject.biz/ 我的JAVA早已经安装了. 问题:root #ganttproject 提示org.bardsoftware.eclipsito.B ...

  9. JS中的call()和apply()方法理解和使用

    1.方法定义call方法: 语法:obj.method.call(thisObj[,arg1[, arg2[, [,.argN]]]]) 定义:调用对象(obj)的一个方法(method),以另一个对 ...

  10. CSS继承性+层叠性+盒子+浮动

        CSS继承性+层叠性+盒子+浮动 CSS继承性 <style>         div{             color: pink;             font-siz ...