分享

Sql 取当天或当月的记录

 斗进馆 2014-05-19
  1. jsp向数据库中添加日期  
  2.   
  3. MS SQL SERVER:  
  4.  NSERT into student(studentid,time1)values('15',getdate());  
  5.   
  6. MY SQL  
  7. insert into tablename (fieldname) values (now())  
  8.   
  9. 取得数据库某表的所有行数   
  10. Connection conn=DbConnection.connectToDb();  
  11.    Statement stat=conn.createStatement();  
  12.    ResultSet rs=stat.executeQuery("select count(*) from book");  
  13.    rs.next();  
  14.    rs.getInt(1);//以前好像有试过是rs.getInt(0);  
  15.   
  16.    
  17.   
  18.   
  19. Sql 取当天或当月的记录  
  20.   
  21. SQLSQL Server  
  22. Sql 取当天或当月的记录  
  23. 今天晚上加班,遇到要把数据库中的时间和当天时间进行比较的问题,直接比较肯定是不行的了.因为表中的时间格式是这样的:2007-02-02 16:50:08.050, 如果直接和当天的时间比较,就总得不到准确数据,但是我们可以把这种格式的时间[格式化]成 2007-02-02,也就是只有年-月-日,然后把当天的时间也格式化成 年-月-日的格式.  
  24. 这样,思路就出来了!  
  25. 我们格式化日期要用到 Convert()这个函数,要用到3个参数,首先来格式化当天的日期,Convert(varchar(10),getDate(),120)  
  26. 这样我们就可以把当天的日期格式化为: 2007-2-2,然后格式化数据库表中的日期  
  27. Convert(varchar(10),TimeFiled,120),最后我们就可以用一条Sql语句得到当天的数据了.  
  28. 例如:  
  29.   
  30. 程序代码  
  31. Select * From VIEW_CountBill Where Convert(varchar(10),[time],120) = Convert(varchar(10),getDate(),120)  
  32.   
  33.   
  34. 注意:  
  35. Convert() 函数中的各个参数的意义,第一个参数,varchar(10)是目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。第二个参数是你要转换的字段,我这里是[time]。最后一个就是格式了,这个值是可选的:20或者120都可以,它遵循的是[ODBC 规范],输入/输出样式为:yyyy-mm-dd hh:mm:ss[.fff]  
  36. 具体的可以参考Sql Server的联机帮助!  
  37.   
  38. ======================================================  
  39. T-Sql查找表中当月的记录  
  40. 思路:将要查找的时间字段用Month()函数取出其中的月份,然后再取出当前月的月份,对比就OK了  
  41. 例:   
  42. 程序代码  
  43. Select * From VIEW_CountBill Where Month([time]) = Month(getDate())  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多