sql中如何获取当天时间的零点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中如何获取当天时间的零点相关的知识,希望对你有一定的参考价值。

需求是查出今天的零点的前五天的数据
SELECT * FROM tablename
where Sent_Time > getdate()-5
这样会丢失5天前的那个上午的数据
求问 如何让getdate() 的时间是今天零点?

sql中步骤获取当天时间的零点如下:

1、打开sqlserver数据库管理工具,点击“新建查询”,打开一个书写SQL语句的新窗口,输入sql语句,查询当前的数据库日期。

2、获取sqlserver中的最小日期,注意,这个日期的时间就是0点。

3、获取当前日期距离最小日期,经过了多少天。

4、 从sqlserver最小日期加上这个天数,就得到了当天的0点。

参考技术A

可使用如下语句:

select cast(convert(varchar(10),getdate(),120)+' 00:00:00' as datetime)

结果:

语句说明:

其中getdate()是获取当前的时间

convert(varchar(10),getdate(),120)是将当前时间的类型转换成字符类型,并只取出年月日信息。

convert(varchar(10),getdate(),120)+' 00:00:00'是将当前的时间加上小时分秒组成字符型的时间。

cast(convert(varchar(10),getdate(),120)+' 00:00:00' as datetime)是将字符转成日期型的数据并输出。

参考技术B SELECT * FROM tablename
where Sent_Time > Convert(datetime,Datename(yyyy,getdate()-5)+'-'+Datename(m,getdate()-5)+'-'+Datename(d,getdate()-5))
这样写可以实现你要的结果
参考技术C SELECT * FROM tablename
where Sent_Time > substring(convert(varchar(20),getdate()-5,120),0,11)
转换时间类型为yyyy-MM-dd hh:mm:ss
convert(varchar(20),getdate()-5,120)
截取时间yyyy-MM-dd
substring(date,0,11)
参考技术D trunc(sysdate)就是每天的0点

获取当天(今日)零点零分零秒

1.日期格式的

                Calendar calendar = Calendar.getInstance();
                calendar.setTime(new Date());
                calendar.set(Calendar.HOUR_OF_DAY, 0);
                calendar.set(Calendar.MINUTE, 0);
                calendar.set(Calendar.SECOND, 0);
                Date zero = calendar.getTime();

2.时间戳

                long current = System.currentTimeMillis();
                long zero = current/(1000*3600*24)*(1000*3600*24) - TimeZone.getDefault().getRawOffset();
技术分享图片
public static void main(String[] args) {
        long current=System.currentTimeMillis();//当前时间毫秒数
        long zero=current/(1000*3600*24)*(1000*3600*24)-TimeZone.getDefault().getRawOffset();//今天零点零分零秒的毫秒数
        long twelve=zero+24*60*60*1000-1;//今天23点59分59秒的毫秒数
        long yesterday=System.currentTimeMillis()-24*60*60*1000;//昨天的这一时间的毫秒数
        System.out.println(new Timestamp(current));//当前时间
        System.out.println(new Timestamp(yesterday));//昨天这一时间点
        System.out.println(new Timestamp(zero));//今天零点零分零秒
        System.out.println(new Timestamp(twelve));//今天23点59分59秒
}

 

 

http://www.cnblogs.com/cc-java/p/6699045.html

以上是关于sql中如何获取当天时间的零点的主要内容,如果未能解决你的问题,请参考以下文章

js如何返回当天零点的时间戳?

js如何返回当天零点的时间戳?

js获取当天零点时间戳?

php怎么获取今天零点的时间戳

java 获取当天(今日)零点零分零秒

获取当天(今日)零点零分零秒