在db2中在两个日期之间提取记录

在db2中在两个日期之间提取记录,db2,Db2,我尝试了以下两种方法,它们都不起作用 Select * from Table where SERV_DATE BETWEEN '03/01/2013'AND '03/31/2013' Select * from Table where SERV_DATE BETWEEN DATE('03/01/2013') AND DATE('03/31/2013') 这也不起作用 Select * from

我尝试了以下两种方法,它们都不起作用

Select * from Table 
where SERV_DATE BETWEEN '03/01/2013'AND    
              '03/31/2013'          
Select * from Table 
where SERV_DATE BETWEEN DATE('03/01/2013') AND     
              DATE('03/31/2013')
这也不起作用

Select * from Table 
where SERV_DATE BETWEEN '03/01/2013'AND    
              '03/31/2013'          
Select * from Table 
where SERV_DATE BETWEEN DATE('03/01/2013') AND     
              DATE('03/31/2013')

正确的格式应该是什么?

您尝试过NealB建议的格式吗?不接受2013年1月3日作为输入日期格式的原因是,美国的输入日期是2013年3月1日,而英国的输入日期是2013年1月3日。因此,如果不考虑当地情况,就无法确定实际日期

“为什么db2会在相同的格式上给出错误,并且在给出不同的格式时会运行良好”-不要忘记,db2是一位老太太,和所有老太太一样,她有自己的特点。你只要习惯它,就会有一个幸福的结局

Select * from Table 
where (SERV_DATE BETWEEN '03/01/2013'AND    
              '03/31/2013') 


Select * from Table 
where (SERV_DATE BETWEEN '2013-03-01'AND    
              '2013-03-31') 

为我工作

从表格名称中选择*其中日期(由_日期修改)介于“2017-07-28”和“2017-08-01”之间

在DB2中工作很酷

select count(*) from   TABLE where time_stamp BETWEEN DATE('2018-01-01') AND DATE('2018-01-31');

这里时间戳是字段名,复制时间戳文件名而不是时间戳。

在'2013-03-01'和'2013-03-31'之间尝试
我看到它有一个表条目,它是2013年1月4日4月30日,为什么db2会在相同的格式上给出错误,并且在给定不同的格式时会运行良好我尝试了以下sqls:T.D_SERV\u FROM>='03/01/2013'T.D_SERV_FROM=('03/01/2013')T.D_SERV_FROM我猜您的客户端程序正在根据计算机的区域设置格式化日期……您的DB2服务器运行在什么操作系统上?这个答案被标记为低质量。如果它回答了这个问题,考虑添加一点文本来解释它是如何工作的。