免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1502 | 回复: 0
打印 上一主题 下一主题

mysql && oracle时间操作 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-04 10:09 |只看该作者 |倒序浏览

在当前时间上,mysql都有不同的4个函数,oracle这里对应的有sysdate。
mysql> select curdate(),curtime(),now(),sysdate();
  • +------------+-----------+---------------------+---------------------+
  • | curdate()   | curtime() | now()                | sysdate()            |
  • +------------+-----------+---------------------+---------------------+
  • | 2007-05-04 | 14:42:23   | 2007-05-04 14:42:23 | 2007-05-04 14:42:23 |
  • +------------+-----------+---------------------+---------------------+
  • 1 row in set (0.00 sec)
    在统计时间的时候,因为统计表中放的是一个unix时间戳,也就是从 ‘1970-01-01 00:00:00′ GMT 开始的秒数,在oracle中,如果需要把它转换成时间,是没有直接的函数的,mysql则有UNIX_TIMESTAMP()与对应的FROM_UNIXTIME()来解决这个问题。
    mysql> select UNIX_TIMESTAMP(),FROM_UNIXTIME(UNIX_TIMESTAMP()),now();
  • +------------------+---------------------------------+---------------------+
  • | UNIX_TIMESTAMP() | FROM_UNIXTIME(UNIX_TIMESTAMP()) | now()                |
  • +------------------+---------------------------------+---------------------+
  • |        1178261202 | 2007-05-04 14:46:42              | 2007-05-04 14:46:42 |
  • +------------------+---------------------------------+---------------------+
  • 1 row in set (0.00 sec)
    在统计IP的时候,统计表中放的又是一个数字形式的IP,如果想把这个IP转换成字符形式,Oracle中应当只有自己写函数了,mysql则有INET_ATON()与INET_NTOA()可以帮你解决这样的问题。
    mysql> select INET_ATON("209.207.224.40"),INET_NTOA(INET_ATON("209.207.224.40"));
  • +-----------------------------+----------------------------------------+
  • | INET_ATON("209.207.224.40") | INET_NTOA(INET_ATON("209.207.224.40")) |
  • +-----------------------------+----------------------------------------+
  • |                   3520061480 | 209.207.224.40                          |
  • +-----------------------------+----------------------------------------+
  • 1 row in set (0.04 sec)
    其实,以上产生的数字通常是以网络地址字节的顺序;例如,上面的数字是以 209*256^3 + 207*256^2 + 224*256 + 40 被计算出来的。如:
    mysql> select 209*256*256*256 + 207*256*256 + 224*256 + 40;
  • +----------------------------------------------+
  • | 209*256*256*256 + 207*256*256 + 224*256 + 40 |
  • +----------------------------------------------+
  • |                                    3520061480 |
  • +----------------------------------------------+
  • 1 row in set (0.00 sec)
    (
    http://hi.baidu.com/iron0313/blog/item/14f601cb1aeaf21cbe09e688.html
    )


    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/65478/showart_1072464.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP