首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >websphere IBM中迄今为止的错误强制转换varchar

websphere IBM中迄今为止的错误强制转换varchar
EN

Stack Overflow用户
提问于 2015-08-03 20:11:00
回答 1查看 63关注 0票数 0

我正在调用一个返回varchar2表的PL/SQL函数。这是它的签名:

代码语言:javascript
运行
复制
create or replace FUNCTION fn_get_estados
        (Pcuenta IN varchar2,Pdia_corte integer) 
        RETURN t_estado_disp_table 
AS

以下是类型:

代码语言:javascript
运行
复制
create or replace TYPE t_estado_Disp_type AS OBJECT 
     (date_inicial    VARCHAR2(15),
              date_final     VARCHAR2(15));

create or replace TYPE t_estado_detalle_table AS TABLE OF t_estado_detalle_type;

当我称其为函数时:

代码语言:javascript
运行
复制
select date_inicial,date_final from table( fn_get_estados( '0000268') );

在中,结果如下:

10/01/2015

但是,当我使用部署在websphere 8.5.5和println(resulset.getString(1))中的Java应用程序的确切SQL调用该函数时,如下所示:

10-2015年1月-2015年1月

我只是不想让应用服务器做任何投射。有什么配置来避免这种铸造吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-04 07:15:21

Oracle类型为以特殊格式存储。每个客户端决定如何显示它们;显示格式由客户端的NLS语言设置控制。了解更多信息。

DD-MON-YYYY是Oracle默认的日期显示格式。因此,应用服务器没有进行任何转换,它只是以默认的Oracle方式呈现日期。

如果不进行彻底的影响分析,您可能不应该更改Websphere中的NLS设置。其他人可能对默认格式很满意(除了其他任何东西外,在全球环境中,它消除了歧义:现在是1月10日,而不是10月1日)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31795918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档