C#使用SQL数据库按照时间查询方法及注意事项
来源:互联网 发布:足球进球数据统计网站 编辑:程序博客网 时间:2024/06/05 21:00
一.时间上传格式问题
开始上传时我们用的是: string sTime = DateTime.Now.ToString();
出现问题:在时间小于10点是会出现:2014-1-16 8:55:22,而我们期望和最利于我们查询的的格式应该为:2014-01-16 08:55:22;这里有两个地方有问题,一个是月份是1,而不是01,这样我们就会出现一种情况,在你查询1月16日的数据时可能会出现11月6日的数据;第二个是小时为8而不是08,虽然说8和08在我们后面查询时影响可能不会太大,但我们为了确保正确性,还是推荐修改为08;
所以我们修改一下上传的时间格式:
后来改为: string sTime = DateTime.Now.ToString("yyyy'-'MM'-'dd' 'HH':'mm':'ss");
这样上传的所有时间都是统一格式,不会出现月份小于10,或者小时小于10时只有一位数的情况,从而使查询时更加方便,正确;
某些电脑上面可能在小时小于10时用第一种格式还是会出现08,09这种情况,但大部分电脑上面还是8.9,具体原因不是很情况,估计跟电脑上面的时间格式有关,为了确保一致性,我们还是选择第二种格式吧!
二..现在用的查询方法
a.查询某一天的时间
/// <summary> /// 某一天查询 /// </summary> /// <param name="RowName">列名</param> /// <param name="CYear">测试年</param> /// <param name="CMouth">测试月</param> /// <param name="CDay">测试日</param> /// <returns>返回的语句(没有AND)</returns> public string fnCheckTestTime(string RowName,string CYear,string CMouth,string CDay) { string strBack = ""; strBack +=RowName+ " >" + " '"+CYear+"-"+CMouth+"-"+CDay+"' "; strBack += " AND "; strBack += RowName + " <" + " '" + CYear + "-" + CMouth + "-" + CDay + "23:59:59' "; return strBack; }b.时间段查询
/// <summary> /// 时间段查询, /// </summary> /// <param name="RowName">列名</param> /// <param name="CBeginYear">开始年</param> /// <param name="CBeginMouth">开始月</param> /// <param name="CBeginDay">开始日</param> /// <param name="CEndYear">结束年</param> /// <param name="CEndMouth">结束月</param> /// <param name="CEndDay">结束日</param> /// <returns>返回查询语句(前面没有AND)</returns> public string fnBegin_End_Time(string RowName, string CBeginYear, string CBeginMouth, string CBeginDay, string CEndYear, string CEndMouth, string CEndDay) { string strBack=""; //前面加个空格以免出现语句报错 string strBegin = " "+RowName + ">" + "'" + CBeginYear + "-" + CBeginMouth + "-" + CBeginDay + "'"; string strEnd=RowName + "<" + "'" + CEndYear + "-" + CEndMouth + "-" + CEndDay + "23:59:59"+"'"; strBack += strBegin + " AND " + strEnd; return strBack; }
上面的查询方法中月份和天数小于10的都应该为01.02.03。。。这种格式,且“23:59:59”,23前面不能有空格,我就是加过空格出现过查询 10点以前的数据的情况;
0 0
- C#使用SQL数据库按照时间查询方法及注意事项
- 数据库排名sql,group by 分组查询按照时间最大值
- 数据库排名sql,group by 分组查询按照时间最大值
- 按照时间间隔查询数据库
- oracle数据库按照时间查询数据
- Hibernate使用sql语句查询,返回实体类型的方法及注意事项
- c#常用函数方法及sql时间
- c#常用函数方法及sql时间
- c#常用函数方法及sql时间
- c#常用函数方法及sql时间
- mysql按照时间查询
- mongodb按照时间查询
- mysql 按照时间查询
- MySQL 按照时间查询
- SQLite数据库不同时间精度查询注意事项
- 在django中按照时间范围查询数据库
- 数据库查询中的左连接及注意事项
- SQL Server数据库查询速度慢原因及优化方法
- libvirt在使用virbr0并发启动虚拟机时死锁
- Onboard IOS App 启动画面插件
- LeetCode51:N-Queens
- SharePoint 2013 重复的管理账户错误:已添加项。字典中的关键字 所添加的关键字
- Ubuntu 14.04一步一步安装Openstack Kilo版本-4(ntp)
- C#使用SQL数据库按照时间查询方法及注意事项
- Ubuntu 12.04 x64 busybox
- golang vim ide 环境搭建
- cocoaPods 安装使用测试(AFNetworking为例)
- HDU1568 Fibonacci 斐波那契的前4位
- 【原创首发】针对java初学者的环境变量配置工具
- Unreal Open Day游记
- test
- 羽化效果的HeatMap