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)是将字符转成日期型的数据并输出。
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中如何获取当天时间的零点的主要内容,如果未能解决你的问题,请参考以下文章