• SQL的基本知识


    1.获取当前时间的前一个小时

    mysql中有个时间数据类型是:TIMESTAMP,

    它储存的格式为:2016-12-29 14:49:48

    JS 可以通过下列函数把时间转换成上面格式进行储存!

    1 function formatDate(now) { 
    2     var year=now.getFullYear(); 
    3     var month=now.getMonth()+1; 
    4     var date=now.getDate(); 
    5     var hour=now.getHours(); 
    6     var minute=now.getMinutes(); 
    7     var second=now.getSeconds(); 
    8     return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second; 
    9 } 

    现在的问题是:我想获取当前时间的前一个小时,或者前一分钟的TIMESTAMP的数据格式:

    SUBDATE(now(),interval 1 hour)
    

    如果是前一分钟,hour修改成minute, 一天为day,

    我想获取当前时间的后一个小时,那么函数为:ADDDATE

    获取当前时间函数可以是:select now(); 也可以是:

    select current_timestamp;

    获取当天的记录:

    select * from hera.d2_verifycode where type = @type AND 
                        codekey = @codekey and codevalue= @codevalue AND state='valid' AND 
                        Date(send_time) = CURDATE()

    2.DISTINCT语句

      在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

     3.CURRENT_TIMESTAMP数据结构

     CURRENT_TIMESTAMP,是当前mysql的时间,设置之后,插入数据时,会自动打上当前的时间戳。

     alter table d2_verifycode MODIFY  COLUMN send_time  TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

    另外Extra也有这个属性,如:on update CURRENT_TIMESTAMP类型

    4.获取当天的数据

    select * from table_1 where send_time>=CURDATE() and send_time< ADDDATE(CURDATE(),interval 1 day);
    

    5.ifNull的用法

    select ifnull(sum(favor_amt),0)   
    //如果 favor_amt为null,则 used为0,否则为sum(favor_amt)
    used from boss.m5_favor_logs 
    where userid=@userid
  • 相关阅读:
    两数交换
    排序算法总结
    mysql 完整性约束
    mysql 数据类型
    python 学习_第四模块 并发编程(多线程)
    python 学习_第四模块 并发编程(多进程)
    第二章 mysql用户管理
    第一章 mysql源码安装
    python 学习_第三模块网络编程入门
    python 学习_第三模块 面向对象(中级)
  • 原文地址:https://www.cnblogs.com/liuyinlei/p/6233238.html
Copyright © 2020-2023  润新知