数据库中日期大小的判断

摘要:
如果数据库中表字段pubdate的初始默认值设置为getdate(),则生成的最后一个日期是格式为2006-10-17或2006-01-06的数据-------------------------------如果要进行查询,从前台获得的结束日期为“2006-10-17”。请注意,此日期没有小时、分钟和秒。如果要进行查询,请筛选出表中小于或等于2006年10月17日的所有数据

数据库中表字段 pubdate ,如设置初始默认值为 getdate() ,则最后产生的日期为:2006-10-17 或 2006-01-06 这样的格式数据。

-----------------------------

假如做查询,从前台取过来的日期 enddate 为 "2006-10-17" ,注意此日期无时,分秒。

如果想要做一个查询 ,把表中数据所有小于等于 2006-10-17 日期的数据筛选出来,如果查询语句这样写的话:

select * from 表 where pubdate<='"+enddate+"' ,则只能取出 2006-10-17 日以前的数据,2006-10-17当日的数据出不来,因为 2006-10-17 相当于 2006-10-17 00:00:00

解决方法:

DateTime dtn = DateTime.Parse(this.TextBox2.Text.Trim().ToString());

1 where pubdate<= '"+dtn.AddDays(1).ToShortDateString()+"'

2 where convert(varchar(10),DateAndTime,120) = '" +this.TextBox2.Text.Trim().ToString()+ "'

        DateTime dt = DateTime.Now;
        
string dts = dt.ToShortDateString(); //形式:2011-9-21 ,注意,是9 而不是 09 ,不能用这个字符串与数据库日期进行比较。
        DateTime dtf = DateTime.Parse(dts);  //形式:2011-9-21 0:00:00 会自动把时间加上,但是全是 0
        
string dtsm = dt.ToShortTimeString();//形式:8:41 ,8:01   ,是8 不是 08:41,但是后面的分钟是两位数的。

        int hm = int.Parse(dt.Hour.ToString()) * 60 + int.Parse(dt.Minute.ToString());
        
string  vnum = "V"+((hm - (hm % 15)) / 15).ToString();
      
        
int nowyear = dt.Year; // 2011
        int nowmonth = dt.Month; //9 不是 09
        int nowday = dt.Day; //3 不是 03
       //数据库中  datepart(month, DateAndTime)  也为 9 不是 09
        
//数据库中  datepart(day, DateAndTime)  也为 3 不是 03
        
//select convert(varchar(10),提交日期,120) from adslmoney  得到的提交日期为:2010-05-04  月份和日子,都是双位数 05-04

        string DateFormats = Convert.ToDateTime(dt).ToString("yyyy-MM-dd"); //但是这样的话,月份和日子,就是双位数2011-09-21 

 
//string sqlcheck = "select ID from HeatLine where PID = '" + pipeid + "' and  datepart(year, DateAndTime) = " + nowyear + " and  datepart(month, DateAndTime) = " + nowmonth + " and   datepart(day, DateAndTime) = " + nowday + "";
        string sqlcheck = "select ID from HeatLine where PID = '" + pipeid + "' and convert(varchar(10),DateAndTime,120) = '" + DateFormats + "'";

免责声明:文章转载自《数据库中日期大小的判断》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇为什么说 LINQ 要胜过 SQLOpenStack各组件的常用命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQL Server的链接服务器(MySQL、Oracle、Ms_sql、Access、SYBASE)

一、使用 Microsoft OLE DB Provider For ODBC 链接MySQL安装MySQL的ODBC驱动MyODBC1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为myDSN 2、建立链接数据库EXEC sp_addlinkedserver @server = 'MySQLTest', @srvpro...

HIBERNATE锁机制

乐观锁与悲观锁  文章转自网上好像是玉米田的,忘记了锁( locking ) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算 处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机 制来保证这些数据在某个操作过程中不...

数据库系列(三)之 锁

锁的意义      数据库中有很多‘锁’的使用。怎么合理并灵活的应用是一个值得讨论深究的问题。      锁为何而存在?为了在同一时间内,只能处理一种请求。而避免导致的数据错乱。例如商城中,库存的扣减;金融系统中金钱的转账。      在耳熟能详的商城中,库存扣减有很多种方法来处理,其中数据库锁是很大众的一种方式。在应用程序中,存在着多个用户同一时间购...

数据库事务中的隔离级别和锁+spring Transactional注解

转载自:https://www.cnblogs.com/yldIndex/p/spring_Transactional.html 数据库事务中的隔离级别和锁 数据库事务在后端开发中占非常重要的地位,如何确保数据读取的正确性、安全性也是我们需要研究的问题。ACID 首先总结一下数据库事务正确执行的四个要素(ACID): 原子性(Atomicity):即事务是...

Django学习篇:ORM

目录 Django ORM中常用字段和参数 一些说明: 常用字段: 1.AutoField 2.IntegerField 3.CharField Django ORM中常用字段和参数 一些说明: 表myapp_person的名称是自动生成的,如果你要自定义表明,需要在model的Meta类中指定db_table参数,强烈建议使用小写表...

传奇服务端各文件用途说明

MirServer(服务器目录)├DBServer(数据库服务端)│ ├Connection│ ├FDB(人物数据库,数据库格式为传奇自定义格式)│ ├Log(角色选择服务端日志)│ ├!AddrTable.txt(IP地址配置)│ ├!IdList.txt(交费账号列表,!Setup.exe中ServiceMode=TRUE时起作用)│ ├!Server...