偶然看到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. asp.net MVC 模拟实现与源码分析

    前言 本文流程#1: 从一个空项目->模拟实现一个从/Home/Test形式的URL敲入->后台逻辑处理->传入后台model参数->调用razor引擎->前台展示 涉及 ...

  2. python3.4 data type

    #coding=utf-8 #Python 3.4 https://docs.python.org/3.4/library/ #IDE:Eclipse +PyDev Window10 import a ...

  3. Java 设计模式(二)-六大原则

    Java 设计模式(二)-六大原则 单一职责原则(Single Responsibility Principle) 定义: 不要存在多余一个原因导致类变更,既一个类只负责一项职责. 问题由来: 当类A ...

  4. For循环输出一个表格

    <!-- 作者:郑伟钊 时间:2017-01-16 描述:通过一个循环的嵌套输出一个表格 --> <?php header("Content-type:text/html; ...

  5. hdu1042

    #include"stdio.h" #include"stdlib.h" #include"string.h" #define N 1000 ...

  6. Ch2 空间配置器(allocator) ---笔记

    2.1 空间配置器的标准接口 allocator的必要接口: allocator::value_type allocator::pointer allocator::const_pointer all ...

  7. GTK+2.0学习——C指针回顾

    工作需要,开始做GTK,但是很久没碰C了,来捡一下C的精华. 一.*和&的意义 *:指针运算符 &:取地址运算符 两者优先级一样,从右向左方向结合 二.指针和指针变量 指针:一个变量的 ...

  8. Linux 复习重点目录

    Linux安全复习 一.Linux基本命令 1.文件管理命令 lvm 2.用户管理命令 3.网络管理命令 4.权限管理 普通权限和特殊权限 权限命令修改 5.服务命令 6.软件安装管理命令 yum安装 ...

  9. C#笔记(二)变量

    C#把数据类型分为两种 ● 值类型 ● 引用类型 从概念上看:其区别是值类型直接存储其值,而引用类型存储对值的引用 这两种类型存储在内存的不同地方:值类型存储在堆栈中,而引用类型存储在托管堆上 如果变 ...

  10. mac下virtualbox配置全网通

    mac下virtualbox实现主机和虚拟机.虚拟机和外网互访的方案 全局添加Host-Only网络 Adapter IPv4 Address:192.168.56.1 IPv4 Network Ma ...