BIRT中的日期时间问题

本文介绍在BIRT报表工具中使用SQL Server日期字段进行时间范围查询遇到的问题及解决方法。当查询参数设置为datetime类型时,下午时间的查询会出现错误结果;通过将参数类型更改为String类型,成功解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在SQLSERVER中,日期字段T_LOG_TIME中存放的内容如下面的样例:
2008-3-6 14:35:31.000
 
在BIRT中使用查询条件
select * from EXIMUSER.SEC_USER_INFO_LOG where T_LOG_TIME>? and T_LOG_TIME<?
一开始将查询参数和查询参数需要关联报表参数的数据类型都设置为datetime类型的,问题就来了。当第一个查询时间为上午的时间时(如03/06/2008 03:40:00 AM),查询结果是正确的,为200836日上午三点四十以后的记录。但是第一个时间参数改为下午时间(如03/06/2008 03:40:00 PM),发现查询出来的结果中竟然会有 2008/03/06 下午一点多钟的记录,显然是不对的,我需要找的是200836日下午三点四十以后的记录。做了几次试验发现只有是下午的记录都会出现。感觉BIRT在时间的比较环节有点问题。后来我再尝试将查询参数和与之关联的报表参数是数据类型改为String类型的,问题解决了。
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值