在如今各式各样的数据库中,对时间类型的数据处理也不尽相同。要将FineReport中的时间类型数据与数据库中的时间类型数据对接,必须借助一些格式转换函数。
在此,以常用的数据库Oracle和SQL Server为例,举例讲述其与FineReport之间时间类型的转换,同FR使用者们共同交流。
Oracle and FineReport
例如:
Oracle数据库中有名为example的数据表,表中有名为Date的时间字段,FineReport中有一个时间参数a;现要求选出example表中Date字段与参数a相等的记录。
分情况转换方法如下表所示:
Oracle
FineReport
SQL语法
日期类型字段
Date(yyyy-MM-dd)
时间类型参数a /字符串类型参数a
Select * from example
where Date=to_date('${a}','yyyy-MM-dd')
字符串类型字段
Date(MM/dd/yyyy)
时间类型参数a /字符串类型参数a
Select * from example
where Date=to_char('${a}','MM/dd/yyyy')
时间类型字段
Date(yyyy MM dd hh24:mi:ss) /
(yyyy MM dd hh12:mi:ss)
时间类型参数a /字符串类型参数a
Select * from example
where Date=to_char('${a}','yyyy MM dd hh24:mi:ss') /
Select * from example
where Date=to_char('${a}','yyyy MM dd hh12:mi:ss')
字符串类型字段
Date(yyyy.MM.dd hh24:mi:ss) /
(yyyy.MM.dd hh12:mi:ss)
时间类型参数a /字符串类型参数a
Select * from example
where Date=to_char('${a}','yyyy.MM.dd hh24:mi:ss') /
Select * from example
where Date=to_char('${a}',&