Sql server 取当天或当月的记录

   jsp向数据库中添加日期

  MS SQL SERVER:

  NSERT into student(studentid,time1)values('15',getdate());

  MY SQL

  insert into tablename (fieldname) values (now())

  取得数据库某表的所有行数

  Connection conn=DbConnection.connectToDb();

  Statement stat=conn.createStatement();

  ResultSet rs=stat.executeQuery("select count(*) from book");

  rs.next();

  rs.getInt(1);//以前好像有试过是rs.getInt(0);

  Sql 取当天或当月的记录

  SQLSQL Server

  Sql 取当天或当月的记录

  今天晚上加班,遇到要把数据库中的时间和当天时间进行比较的问题,直接比较肯定是不行的了。因为表中的时间格式是这样的:2007-02-02 16:50:08.050, 如果直接和当天的时间比较,就总得不到准确数据,但是我们可以把这种格式的时间[格式化]成2007-02-02,也就是只有年-月-日,然后把当天的时间也格式化成 年-月-日的格式。

  这样,思路就出来了!

  我们格式化日期要用到 Convert()这个函数,要用到3个参数,首先来格式化当天的日期,Convert(varchar(10),getDate(),120)

  这样我们就可以把当天的日期格式化为: 2007-2-2,然后格式化数据库表中的日期

  Convert(varchar(10),TimeFiled,120),最后我们就可以用一条Sql语句得到当天的数据了。

  例如:

  程序代码

  Select * From VIEW_CountBill Where Convert(varchar(10),[time],120) = Convert(varchar(10),getDate(),120)

  注意:

  Convert() 函数中的各个参数的意义,第一个参数,varchar(10)是目标系统所提供的数据类型,包括 bigint 和 sql_variant.不能使用用户定义的数据类型。第二个参数是你要转换的字段,我这里是[time].最后一个就是格式了,这个值是可选的:20或者120都可以,它遵循的是[ODBC 规范],输入/输出样式为:yyyy-mm-dd hh:mm:ss[.fff]

  具体的可以参考Sql Server的联机帮助!

  T-Sql查找表中当月的记录

  思路:将要查找的时间字段用Month()函数取出其中的月份,然后再取出当前月的月份,对比就OK了

  例:

  程序代码

  Select * From VIEW_CountBill Where Month([time]) = Month(getDate())

时间: 2024-11-01 20:02:51

Sql server 取当天或当月的记录的相关文章

SQL Server数据库多种方式查找重复记录

原文地址:http://kb.cnblogs.com/page/94862/ 摘要:SQL Server是一个关系数据库管理系统,SQL Server数据库的应用是很多的,SQL Server数据库赢得了广大用户的青睐,本文将主要为大家介绍关于SQL Server数据库中查找重复记录的方法. SQL Server数据库多种方式查找重复记录: 示例:表stuinfo,有三个字段recno(自增),stuid,stuname 建该表的Sql语句如下: CREATE TABLE [StuInfo] (

oracle和sql server取第一条记录的区别以及rownum详解

我们知道学生可能有重名的情况,那么当重名的时候假设只需要取得重名结果集中的第一条记录.   sql server:select top(1) num,Name from M_Student where name = 'xy'   Oracle:select num,Name from M_Student where name = 'xy' and rownum <= 1 对于rownum在oracle的使用的时候,有几点需要注意:   (1) rownum 对于等于某值的查询条件 如果希望找到学

SQL Server简单模式下误删除堆表记录恢复方法(绕过页眉校验)_MsSql

首先,我需要强调下,这篇主旨是揭示堆表的删除记录找回的原理,我所考虑的方面并不适用于每个人的每种情况,望大家见谅~ 很多朋友认为数据库在简单模式下,堆表误删除一条记录,是无法找回的,因为没有日志记录.其实不然,某种意义上是可以找回的,因为堆表在删除记录时,只更改了行偏移,实际数据没有被物理删除,所以利用这点,测试了下恢复数据,果然成功了,但是还有点问题没有研究出结果:如果不关闭页面校验,除了更改偏移量,删除数据时还需要更改页眉,这点还没时间去琢磨,所以恢复数据时还要能推断出页眉的16进制对应关系

SQL Server查找与删除表重复记录sql语句

在该示例中,我们将使用下表,它具有重复的 PK 值.在该表中,主键是两列(col1.col2).我们无法创建唯一索引或主键约束,因为这两行具有重复的 PK.该过程演示如何识别和删除重复的主键.    代码如下 复制代码 create table t1(col1 int, col2 int, col3 char(50)) insert into t1 values (1, 1, 'data value one') insert into t1 values (1, 1, 'data value o

SQL Server取开始时间、截止时间

--当天开始 SELECT dateadd(ms,0,DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)) 当天开始 --当天结束 SELECT dateadd(ms,-3,DATEADD(dd, DATEDIFF(dd,-1,getdate()), 0)) 当天结束 --当月第一天 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 当月第一天 --当月最后一天 SELECT dateadd(ms,-3,DATEADD(

sql server取月初月末和月份间隔

开发中常用到的,记录下来,提供给需要参考的朋友! --1.取月初月末 declare @startdate datetime select @startdate=dateadd(dd,-datepart(dd,getdate())+1,getdate()) select SUBSTRING(Convert(varchar(100),@startdate ,23),1,10) declare @enddate datetime select @enddate=dateadd(dd,-datepar

SQL分组取指定字段最大值的记录

---------------------------------------------- --有id,name,createDate的一张表testTable --根据name分组,获取每组中createDate最大的那条记录(整条)查询出来 ----------------------------------------------创建一张表,语句如下: CREATE TABLE [dbo].[testTable]  (  [id] [int] NOT NULL IDENTITY(1, 1

删除SQL Server数据中指定的重复记录

  delete from 表 where 主键=(select top 1 主键 from 表 where 相同字段=(select 相同字段 from 表 group by 相同字段 having count(*)>1)) 主键是表中绝对没有重复值的字段,如自动增量ID; 相同字段如"采集时间",删除表中采集时间相同的记录 本语句,每执行一次,只能删除一条重复记录,如果有三条记录有相同"采集时间",就要循环执行该语句两次.

SQL Server处理四亿三千万记录大型项目实录

项目背景 这个项目是要求做环境监控,我们暂且把受监控的设备称为采集设备,采集设备的属性称为监控指标.项目要求:系统支持不少于10w个监控指标,每个监控指标的数据更新不大于20秒,存储延迟不超过120秒.那么,我们可以通过简单的计算得出较理想的状态--要存储的数据为:每分钟30w,每个小时1800w,也就是每天4亿3千两百万.而实际,数据量会比这个大5%左右.(实际上大部分是信息垃圾,可以通过数据压缩进行处理的,但是别人就是要搞你,能咋办) 上面是项目要求的指标,我想很多有不少大数据处理经验的同学