-
java调用SQL返回的日期格式不对,请帮忙看一下。10
SELECT to_char(add_months(SYSDATE, -5),'MON-YY') As mon FROM DUAL
结果:OCT-10
在java代码中,简要如下:
String sql="SELECT to_char(add_months(SYSDATE, -5),'MON-YY') As MON FROM DUAL";
stat = sdbConn.prepareStatement(sql);
rset = stat.executeQuery();
while (rset.next()) {
Month = rset.getString("MON");
System.out.println("Month:"+ Month);
}
返回的Month的值为“10? -10”
这个是怎么回事啊?
问题补充:<div class="quote_title">mmddonkey 写道</div><div class="quote_div">看起来像是字符集编码的问题 有可能是工程的编码格式 和oracle的不一致</div> <br /><div class="quote_title">mmddonkey 写道</div><div class="quote_div">看起来像是字符集编码的问题 有可能是工程的编码格式 和oracle的不一致</div> <br /> <br /> <br />目前还是没有解决,我的操作系统是英文版的。下面是我的数据库的编码。我的java 工程我改成UTF-8 和 US-ASCII都还是不对。 <br /> <br />
问题补充:<div class="quote_title">dk101 写道</div><div class="quote_div">我觉得应该是数据库字符集编码不正确,和操作系统没有关系,这个是我本机数据库的设置结果: <br />PARAMETER VALUE <br /> <br />NLS_LANGUAGE SIMPLIFIED CHINESE <br />NLS_TERRITORY CHINA <br />NLS_CURRENCY ¥ <br />NLS_ISO_CURRENCY CHINA <br />NLS_NUMERIC_CHARACTERS ., <br />NLS_CALENDAR GREGORIAN <br />NLS_DATE_FORMAT DD-MON-RR <br />NLS_DATE_LANGUAGE SIMPLIFIED CHINESE <br />NLS_CHARACTERSET ZHS16GBK <br />NLS_SORT BINARY <br />NLS_TIME_FORMAT HH.MI.SSXFF AM <br />NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM <br />NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR <br />NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR <br />NLS_DUAL_CURRENCY ¥ <br />NLS_NCHAR_CHARACTERSET AL16UTF16 <br />NLS_COMP BINARY <br />NLS_LENGTH_SEMANTICS BYTE <br />NLS_NCHAR_CONV_EXCP FALSE <br /> <br />你可也对照一下,进行修改。</div> <br /> <br />谢谢你的帮助。 <br />我在Unix下面就是正常的的显示(JAN-10),在Windows 下就是 <br />10? -10,是不是要在代码写一下编码转化。 <br />
问题补充:我在sql 里面加上<span style="color: red">'NLS_DATE_LANGUAGE = American‘</span> 就可以了,谢谢大家帮忙。 <br />String sql="SELECT to_char(add_months(SYSDATE, -5),'MON-YY','NLS_DATE_LANGUAGE = American‘) As MON FROM DUAL"; <br />2011年3月14日 16:30
5个答案 按时间排序 按投票排序
-
我觉得应该是数据库字符集编码不正确,和操作系统没有关系,这个是我本机数据库的设置结果:
PARAMETER VALUE
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY ¥
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY ¥
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
你可也对照一下,进行修改。2011年3月15日 11:33
-
先在PL/SQL工具(或者SQL Plus)里执行语句,看结果是否正确(是否是自己想要的结果)?如果正确,就是前台Java代码取值的问题;如果不正确,就是Oracle数据库编码的问题,需要重新修改数据库编码。
2011年3月15日 10:56
相关推荐
用Java语言调用SQL的语法规则,写的比较详细。希望能对你有所帮助!
"Java 调用 SQL Server 存储过程" Java 调用 SQL Server 存储过程是指在 Java 应用程序中调用 SQL Server 数据库中的存储过程,以实现数据的增删改查等操作。下面是关于 Java 调用 SQL Server 存储过程的知识点: ...
开发者可以参考这个文件了解如何在自己的Java项目中集成和调用SQL格式化功能。 3. **SqlFormatter.java**:这可能是实现SQL格式化逻辑的Java类。它可能包含了读取SQL语句、解析语法结构、应用格式规则以及生成格式...
Java调用SQL_Server的存储过程详解 1使用不带参数的存储过程 2使用带有输入参数的存储过程 3使用带有输出参数的存储过程 4 使用带有返回状态的存储过程 5 使用带有更新计数的存储过程
转换`java.util.Date`到`java.sql.Date`非常简单,只需要调用`java.sql.Date`的构造器,并传递`java.util.Date`对象的时间戳即可。 ```java java.util.Date utilDate = new java.util.Date(); java.sql.Date sql...
"标签"进一步强调了这个工具的关键特性,包括"Java输出漂亮的SQL语句",这意味着它是一个Java环境下的解决方案,能够集成到Java项目中,通过Java代码来调用和实现SQL语句的格式化。另一个标签"SQL格式化"则明确了它...
本文将深入探讨如何在Java中调用SQL*Plus来执行定制的SQL脚本。 首先,SQL*Plus是Oracle数据库提供的一个命令行工具,用于执行SQL语句和PL/SQL块。在Java中调用SQL*Plus,通常有两种方式:一种是通过操作系统命令行...
java 调用 powershell 并传参 返回
在探讨Java调用带有JSON参数的WebService之前,我们首先需要了解几个关键的技术概念:Java、JSON以及WebService。 Java是一种广泛使用的编程语言,它具有面向对象、跨平台、多线程以及健壮性等特点。Java在企业级...
在Java编程中,调用SQL存储过程是数据库操作中的常见任务,这有助于提高应用程序的效率和性能。Java通过`CallableStatement`接口提供了调用存储过程的功能,使其能够适应不同的数据库管理系统(DBMS)。下面将详细...
本文将详细介绍如何通过Java程序来调用一个返回单个值的存储过程,并且该过程支持参数传递。此方法通常利用了`CallableStatement`接口,它是`PreparedStatement`的子接口,专门用于执行SQL存储过程或函数。 ### 一...
Java调用SOAP(Simple Object Access Protocol)接口是Web服务交互中的常见操作,SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息。本案例主要关注如何使用Java来实现SOAP请求并获取响应,具体我们...
Java中调用SQL Server存储过程是一项常见的任务,特别是在开发企业级应用时,因为存储过程能够封装复杂的数据库逻辑,提高性能并降低网络流量。本篇文章详细介绍了如何通过Java调用SQL Server存储过程,涵盖了几种...
在Java编程中,调用Oracle数据库的存储过程和函数是常见的任务,这通常涉及到JDBC(Java Database Connectivity)API的使用。以下将详细介绍这个过程,包括必要的步骤、使用的类和方法,以及可能遇到的问题和解决...
使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列。不带参数的 call 转义序列的语法如下所示: {call procedure-name} 作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中...
PagingOperation数据库SQLServer2008分页存储过程(和java调用存储过程源代码): 调用存储过程进行分页查询速度快,尤其是数据量超过50万条的表非常重要,此代码是我们项目中使用的,实际使用情况稳定,也希望大家...
### Java调用C#封装的DLL方法 #### 第一种方法:Java利用JNA进行调用 **背景介绍:** 为了实现Java与C#之间的交互,一种常用的方式是通过调用C#封装的DLL文件来完成特定功能。这种方法涉及到.NET Framework与Java...
Java.util.Date与java.sql.Date的互转及字符串转换为日期时间格式 java.util.Date和java.sql.Date是Java中两个常用的日期时间类,分别属于不同的包。java.util.Date是Java标准库中的日期时间类,而java.sql.Date是...
在数据库管理中,存储过程(Stored Procedure)是一种预编译的SQL代码集合,它封装了特定的功能,并在需要时由应用程序调用执行。存储过程在大型数据库系统中扮演着重要角色,因为它能提高性能、增强安全性、减少...
Bartender提供了.net的开发sdk,但是没有提供java的,使得java开发者调用Bartender实现模板打印比较困难。本示例是结合Bartender官方资料,利用java通过COM组件方式实现可传递参数的模板打印。