C#+access where语句中数据库时间字段与当前时间比较

问题描述

C#+数据库access编程,想查询哪些合同已经过期或者快要到期。strTmp="select*fromtbHetongwhere合同到期时间<=date()orDATEDIFF('d',合同到期时间,now())<='"+dayDaoqi+"'";但好像结果不是想要的,比如过期的没有显示出来,而快到期的日数好像是dayDaoqi-1。求解。

解决方案

解决方案二:
看看你存储时间的字段有没有使用时期类型。
解决方案三:
引用1楼nry19871012的回复:

看看你存储时间的字段有没有使用时期类型。

没有,我用的是文本类型。access使用时间类型格式“2016/4/22”,我想要的是“2016-04-22”
解决方案四:
引用2楼xiao7zhf的回复:

Quote: 引用1楼nry19871012的回复:
看看你存储时间的字段有没有使用时期类型。

没有,我用的是文本类型。access使用时间类型格式“2016/4/22”,我想要的是“2016-04-22”

我的意思是让你改成时间类型。
解决方案五:
不能直接比,转化成统一的格式再比较
解决方案六:
首先将字段类型改为日期的,现在存储的是文本类型,你改了类型后,系统会自动将文本转为日期的其次,access里,时间、日期常量,要用#括起来,而不是'strTmp="select*fromtbHetongwhere合同到期时间<=date()orDATEDIFF('d',合同到期时间,now())<=#"+dayDaoqi+"#";

时间: 2024-10-02 03:17:29

C#+access where语句中数据库时间字段与当前时间比较的相关文章

重置while语句中的一个字段值

问题描述 一个while里面写了2个select语句A情况select金额*数量as收入form~~~where~~~~B情况select金额*数量as支出form~~~where~~~~类似报表一样的显示在同一个gird里面,由于写在了同一个while里面,情况B的时候,还是会把收入这个值显示出来,显示的是情况A的第一条数据(由于一些原因,不能写成2个while语句)请问一下怎么清空上一条sql带下来的"收入"的值.不能用表.reset(while前有执行一个sql语句取了一些公共字

sql语句中起始时间问题

问题描述 winform项目,form上有两个日历控件,一个起始时间一个终止时间现在要进行,日.月.年的统计数据sql语句举例如下:select*from表where时间字段<=终止时间,时间字段>=控件起始时间请问月和年的范围,字段怎么转化,怎么进行比较谢谢 解决方案 解决方案二:stringdt1=dateTimePicker1.Value.Year.ToString();stringdt2=dateTimePicker2.Value.AddDays(1).ToShortDateStrin

package-怎么在SQL语句中对抽出的字段的值进行判断?

问题描述 怎么在SQL语句中对抽出的字段的值进行判断? 要求是这样的,举个例子** SELECT A,B,C FROM TAB1 , 要求如果A的值为0的话就显示为空,请问怎么加判断啊?在哪里加呢? 解决方案 我已经写出来了,谢谢各位,还是跟大家分享一下 SELECT DECODE(A,'0','') AS A ,B AS B,C AS C FROM(SELECT A,B,C,D FROM TAB1) 解决方案二: SELECT case A when 0 then "" else c

在mysql数据库中关于日期时间字段的处理

在mysql数据库中关于日期时间字段的处理 在开发中,日期时间字段一般有如下几种设计 假设要获取2013-08-15日到2013-08-16日之间的记录 1. 直接使用日期时间类字段 相关sql语句如下 select * from cms_news where  news_add_time between str_to_date("2013-08-15 00:00:00",'%Y-%m-%d %H:%i:%s') and str_to_date("2013-08-16 23:

复制数据库表中两个字段数据的SQL语句

复制数据库表中两个字段数据的SQL语句 今天为表新添加一个字段,但又想与表中的另一个字段值相同,由于数据过多想通过sql语句实现,经测试下面的这句话确实很好用.   复制代码 代码如下: update jb51_temp set B=A jb51_temp 代表表明 A是有数值的字段,B是新添加的字段 ,记住空值表放到前面,如果set a=b,那么你的数值都为空了,就麻烦了,建议操作前备份数据库. 如何将一个字段里的值复制添加到另一个字段中 比如,有二个字段A和B,A字段是值是"我",

comBox绑定SQL Server数据库中时间字段中的不重复的年份

  关于comBox绑定SQL Server数据库中时间字段中的不重复的年份如下: private void Education_Training_Load(object sender, EventArgs e) { MyDBase DB = new MyDBase(DBUser.sserver, DBUser.DBName, DBUser.suser, DBUser.spasswd); DataSet DS = DB.GetRecordset("select distinct (year(da

修改数据库字段-请问怎么用sql语句去修改sqlite中的数据字段的类型呢?

问题描述 请问怎么用sql语句去修改sqlite中的数据字段的类型呢? 我现在想写一个方法,用来修改sqlite数据库中某个表中的某个列的类型,因为现在客户需要发生变化了,我需要在数据完整的情况下吧数据类型给改变了,也就是说我不能替换数据库,哪就只有用sql语句去修改类型了,跪求高手... 解决方案 sqlite数据库中数据类型存在sqlite_master表中 select sql from sqlite_master where tb_name='tbname' 把这条sql语句改了,表结构

java中数据库的时间字段和jsp页面显示的不一样

问题描述 java中数据库的时间字段和jsp页面显示的不一样 数据库的时间和页面的时间显示不一样,数据库的时间是:2015-05-13 12:24:03 显示到页面上:1431491043000,求解 解决方案 得到的数据 应该是 日期的毫秒数· 可以通过 new java.Date(毫秒数) 转化成 Java里面的Date 应该就可以了 解决方案二: 需要对格式进行转换,转换代码: protected static final String DATE_TIME_FORMAT = "yyyy-M

复制数据库表中两个字段数据的SQL语句_数据库其它

复制数据库表中两个字段数据的SQL语句 今天为表新添加一个字段,但又想与表中的另一个字段值相同,由于数据过多想通过sql语句实现,经测试下面的这句话确实很好用. 复制代码 代码如下: update jb51_temp set B=A jb51_temp 代表表明 A是有数值的字段,B是新添加的字段 ,记住空值表放到前面,如果set a=b,那么你的数值都为空了,就麻烦了,建议操作前备份数据库. 如何将一个字段里的值复制添加到另一个字段中 比如,有二个字段A和B,A字段是值是"我",B字