偶然看到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. 设计模式08---设计模式之抽象工厂模式(Abstract Factory)

    1.场景模拟 举个生活中常见的例子:组装电脑,我们在组装电脑的时候,通常要选择一系列的配件,比如选择CPU时候,需要注意品牌,型号,针脚数目,主频,只有这些都确定下来,才能确定一个CPU.同样,主板也 ...

  2. java如何避免死锁

    在有些情况下死锁是可以避免的.本文将展示三种用于避免死锁的技术: 加锁顺序 加锁时限 死锁检测 加锁顺序 当多个线程需要相同的一些锁,但是按照不同的顺序加锁,死锁就很容易发生. 如果能确保所有的线程都 ...

  3. Nodejs --我自己的学习笔记

    对于Nodejs,相信客官并不陌生,网上却已众说纷纭,有人说是一个平台,有人说是服务器JavaScript,有人说一个框架… 之前亦有过研究,多怀可远观而不可亵玩也.高效率,I/O操作,异步编程,以及 ...

  4. testlink用例转换小工具(excel转为xml,python版)

    前面文章记录了testlink的安装方法(CentOS 7下安装xampp和testlink),由于testlink仅支持xml格式的用例导入,研究了下excel转xml的方法, 从网上其他网友那里借 ...

  5. 解决浏览器兼容问题的css hack

    原理 由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系.我们就可以根据这个来针对不同的浏览器来写不同的CSS.CSS Hack大致有3种表现形式,CSS类内部Hack.选择 ...

  6. linux服务器开发二(系统编程)--线程相关

    线程概念 什么是线程 LWP:Light Weight Process,轻量级的进程,本质仍是进程(在Linux环境下). 进程:独立地址空间,拥有PCB. 线程:也有PCB,但没有独立的地址空间(共 ...

  7. jsp-2 简单的servlet连接mysql数据库 增删改查

    连接mysql数据库的操作 有增删改查 用的包有 commons-lang3-3.5 mysql-connector-java-5.1.40-bin 但是实际上也就是 数据查询和数据处理两种 所以对数 ...

  8. chrome ipc 网摘

    http://my.oschina.net/myspaceNUAA/blog/81632?p=1 http://lihuan623.blog.163.com/blog/static/138595845 ...

  9. Exchange 2010 实用小技巧

    #Exchange安装必须开启防火墙服务 #批量建用户: for /f  "tokens=1,2,3,4,5,6,7 delims=," %a in (c:\users.csv) ...

  10. pgsql获取表相关数据

    import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.P ...