Oracle OAF 中用到的日期转换绝招
2011-12-15 14:09
330 查看
FROM:http://hi.baidu.com/yunfanleo/blog/item/29936c43d91a61089213c6c9.html
OAF中处理日期类型总是很尴尬,java日期和Oracle的日期类型转来转去的,而且极易出错。举个例子,我需要在OAF中将一个J***A DATE 类型的参数P_DATE传给PL/SQL中的一个SQL
DATE类型的参数,首先要把P_DATE转换成String类型,然后方法一:
在传进plsql前将这个String参数转换为SQL DATE类型参数,然后传进函数,这么做
java.text.SimpleDateFormat sdf =
new java.text.SimpleDateFormat("yyyy-MM-dd");
insertInvoiceCaller.setDate(9,
new java.sql.Date(sdf.parse(Util.startDate).getTime()));将它传进第九个参数中。
大家可以数一下这中间做了多少次转换。。。汗。。。
方法二: 直接把String类型的参数传入SQL函数中,在SQL内部用to_date之类的函数将参数转换成DATE类型。这种方法简单一点,但还是有问题!不管是这里的to_date还是方法一中,都需要提供一个日期格式字符串,"yyyy-MM-dd",而这样做是会出问题滴。
大家可以观察下,OAF页面中,如果以英文环境登陆,日期的月份会变成月份缩写,类似Aug,Sep之类的,这时候用"yyyy-MM-dd"这样的格式字符串就出问题啦~~会提示不可识别的月份。
结果就是,你的页面在中文环境下运行良好,而如果用户在英文界面登陆会狂报错~~!
最终的解决方法~~大绝招:fnd_conc_date.string_to_date('04-Nov-2009 23:41:02')。
这个函数一般是做报表时用到的,异常强大,不用给出日期格式字符串,自动识别转换一切合法日期字符串,跨语言~~!只要在sql中加这么一个转换,可以放心让它处理任何合法的日期字符串,而不必担心语言之类的恶心问题。(话说本来OAF中日期格式就够乱套了,还扯到环境语言。。。)
OAF中处理日期类型总是很尴尬,java日期和Oracle的日期类型转来转去的,而且极易出错。举个例子,我需要在OAF中将一个J***A DATE 类型的参数P_DATE传给PL/SQL中的一个SQL
DATE类型的参数,首先要把P_DATE转换成String类型,然后方法一:
在传进plsql前将这个String参数转换为SQL DATE类型参数,然后传进函数,这么做
java.text.SimpleDateFormat sdf =
new java.text.SimpleDateFormat("yyyy-MM-dd");
insertInvoiceCaller.setDate(9,
new java.sql.Date(sdf.parse(Util.startDate).getTime()));将它传进第九个参数中。
大家可以数一下这中间做了多少次转换。。。汗。。。
方法二: 直接把String类型的参数传入SQL函数中,在SQL内部用to_date之类的函数将参数转换成DATE类型。这种方法简单一点,但还是有问题!不管是这里的to_date还是方法一中,都需要提供一个日期格式字符串,"yyyy-MM-dd",而这样做是会出问题滴。
大家可以观察下,OAF页面中,如果以英文环境登陆,日期的月份会变成月份缩写,类似Aug,Sep之类的,这时候用"yyyy-MM-dd"这样的格式字符串就出问题啦~~会提示不可识别的月份。
结果就是,你的页面在中文环境下运行良好,而如果用户在英文界面登陆会狂报错~~!
最终的解决方法~~大绝招:fnd_conc_date.string_to_date('04-Nov-2009 23:41:02')。
这个函数一般是做报表时用到的,异常强大,不用给出日期格式字符串,自动识别转换一切合法日期字符串,跨语言~~!只要在sql中加这么一个转换,可以放心让它处理任何合法的日期字符串,而不必担心语言之类的恶心问题。(话说本来OAF中日期格式就够乱套了,还扯到环境语言。。。)
相关文章推荐
- Oracle OAF 中用到的日期转换绝招
- EXCEL中用TEXT函数将文本转换成日期
- Oracle中日期转换报"输入值对于日期格式长度不够"
- oracle 日期转换格式 函数
- oracle中日期格式的转换
- Oracle 数据同步slqserver 日期转换问题
- Oracle修改时间报:ORA-01830: 日期格式图片在转换整个输入字符串之前结束的解决办法
- Oracle 获取当前日期及转换日期格式
- [置顶] ORACLE日期转换成汉字某年某月某日
- iOS中用swift转换日期的几个通用函数
- oracle日期与字符串的互相转换SQL语句
- Oracle中的日期和字符串互相转换
- oracle字符串日期转换为标准格式日期函数
- oracle 转换日期
- ORACLE 日期时间转换
- oracle中日期类型与unix 时间戳的转换
- Oracle修改时间报:ORA-01830: 日期格式图片在转换整个输入字符串之前结束的解决办法
- Oracle日期与时间戳timestamp的转换
- oracle 日期经常用到的转换
- oracle 字符串与日期转换