日期参数在SQL与FineReport中的处理!
日期参数在SQL与FineReport中的处理!
在如今各式各样的数据库中,对时间类型的数据处理也不尽相同。要将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}','yyyy.MM.dd hh12:mi:ss') |
SQL Server and FineReport
例如:
Oracle数据库中有名为example的数据表,表中有名为Date的时间字段,FineReport中有一个时间参数a;现要求选出example表中Date字段与参数a相等的记录。(SQL Server中对不同的时间格式都有对应的不同公式写法)
日期参数对应关系如下表所示:
SQL Server | FineReport | SQL语法 |
Date
(mon dd yyyy hh:miAM/ PM) |
时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 0) / Select * from example where Date= CONVERT(varchar(100), ${a}, 100) |
Date(mm/dd/yy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 1) |
Date(yy.mm.dd) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 2) |
Date(dd/mm/yy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 3) |
Date(dd.mm.yy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 4) |
Date(dd-mm-yy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 5) |
Date(dd mon yy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 6) |
Date(mon dd, yy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 7) |
Date(hh:mm:ss) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 8) / Select * from example where Date=CONVERT(varchar(100), ${a}, 108) |
Date
(mon dd yyyy hh:mi:ss:mmmAM/ PM) |
时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 9) / Select * from example where Date=CONVERT(varchar(100), ${a}, 109) |
Date(mm-dd-yy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 10) |
Date(yy/mm/dd) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 11) |
Date(yymmdd) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 12) |
Date
(dd mon yyyy hh:mm:ss:mmm(24h)) |
时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 13) / Select * from example where Date=CONVERT(varchar(100), ${a}, 113) |
Date(hh:mi:ss:mmm(24h)) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 14) / Select * from example where Date=CONVERT(varchar(100), ${a}, 114) |
Date
(yyyy-mm-dd hh:mm:ss[.fff]) |
时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 20) / Select * from example where Date=CONVERT(varchar(100), ${a}, 120) |
Date
(yyyy-mm-dd hh:mm:ss[.fff]) |
时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 21) / Select * from example where Date=CONVERT(varchar(100), ${a}, 121) |
Date(mm/dd/yyyy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 101) |
Date(yyyy.mm.dd) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 102) |
Date(dd/mm/yyyy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 103) |
Date(dd.mm.yyyy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 104) |
Date(dd-mm-yyyy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 105) |
Date(dd mon yyyy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 106) |
Date(Mon dd, yyyy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 107) |
Date(mm-dd-yyyy) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 110) |
Date(yyyy/mm/dd) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 111) |
Date(yyyymmdd) | 时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 112) |
Date
(yyyy-mm-ddThh:mi:ss.mmm (no spaces)) |
时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 126) |
Date
(yyyy-mm-ddThh:mi:ss.mmmZ (no spaces)) |
时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 127) |
Date
(dd mon yyyy hh:mi:ss:mmmAM) |
时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVERT(varchar(100), ${a}, 130) |
Date
(dd/mm/yy hh:mi:ss:mmmAM) |
时间类型参数a /
字符串类型参数a |
Select * from example
where Date=CONVER |
如果大家有其他的方法,或者想要知道哪方面的办公技巧,下方评论哦~
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需99元,即可下载本站文章涉及的文件和软件。
共有 0 条评论