首頁  >  文章  >  資料庫  >  Sql server 取当天或当月的记录

Sql server 取当天或当月的记录

WBOY
WBOY原創
2016-06-07 16:22:231049瀏覽

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=con

   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())

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn