个人觉得Oracle有些“独裁”在日期类型对象方面,自己的JDBC驱动不兼顾JDK的标准类。
我想好多朋友遇到过此类问题。这里不再详述。
个人的解决方案:
private String getDate(Object value) {
Timestamp timestamp = null;
try {
timestamp = (Timestamp) value;
} catch (Exception e) {
timestamp = getOracleTimestamp(value);
}
if(timestamp!=null)
return (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S")) .format(timestamp);
else return null;
}
/**
* @reference oracle.sql.Datum.timestampValue();
* @return
*/
private Timestamp getOracleTimestamp(Object value) {
try {
Class clz = value.getClass();
Method m = clz.getMethod("timestampValue", null);
//m = clz.getMethod("timeValue", null); 时间类型
//m = clz.getMethod("dateValue", null); 日期类型
return (Timestamp) m.invoke(value, null);
} catch (Exception e) {
return null;
}
}
出自 http://xuechenyoyo.iteye.com/blog/373318
jdk 1.6 + oracle11g 连接时,从数据库取出数据是oracle.sql.TIMESTAMP对象。不方便在sql语句中转换,用上面的方法转换成功了。
分享到:
相关推荐
2. **数据类型**:Oracle支持多种数据类型,包括数值类型(如NUMBER、INTEGER)、字符串类型(如VARCHAR2、CHAR)、日期时间类型(如DATE、TIMESTAMP)等。了解并熟练运用这些数据类型能确保数据存储的准确性和有效...
- Oracle 还提供了 `oracle.sql.STRUCT`, `oracle.sql.REF` 和 `oracle.sql.ARRAY` 用于处理这些自定义类型 4. **Oracle 特殊类型**: - `BFILE`: 用于存储大文件,与数据库独立,但需要数据库中的一个 locator ...
在企业级应用中,有时需要在不同的数据库系统间进行数据迁移或兼容性处理,这就涉及到了SQL Server到Oracle的数据转换。本篇文章将详细探讨如何利用工具实现SQL Server自动生成SQL语句并转换到Oracle。 首先,标题...
Java编程语言提供了两个重要的日期处理类,分别是`java.util.Date`和`java.sql.Date`,它们在处理日期和时间上有着不同的特性和用途。 `java.util.Date`是更通用的日期时间类,它包含了日期和时间的信息,可以精确...
TIMESTAMP 对应的 JDBC 类型是 java.sql.Types.TIMESTAMP,Java 类型是 java.sql.Timestamp。 4. 二进制类型 RAW 对应的 JDBC 类型是 java.sql.Types.BINARY,Java 类型是 byte[]。LONG_RAW 对应的 JDBC 类型是 ...
- `TIMESTAMP`:Oracle 中的时间戳类型,包含日期、时间和微秒,映射为 `java.sql.Timestamp`。 - `TIMESTAMP WITH TIME ZONE` 和 `TIMESTAMP WITH LOCAL TIME ZONE`:Oracle 的带时区的时间戳类型,映射为特定的 ...
本节将详细介绍Oracle SQL中关键的数据类型,包括日期和时间类型、字符串类型、NULL类型、布尔值以及自定义类型。 #### 二、日期和时间类型详解 ##### 1. 标准日期和时间类型 - **DATE**: 存储日期和时间信息,...
例如,SQL Server的`varchar2`对应Oracle的`VARCHAR2`,`int`对应`NUMBER`(在无小数部分时),`datetime`对应`TIMESTAMP`。在转换过程中,需要将SQL Server的字段类型映射到Oracle对应的类型。 2. **表结构迁移**...
在IT领域,数据库管理和查询是核心技能之一,而Oracle SQL是全球广泛使用的数据库管理系统Oracle中的重要组成部分。这两本书——"ORACLE__SQL.pdf"和"SQL.Cookbook.pdf"为学习和精通SQL提供了宝贵的资源。 "ORACLE_...
总结起来,Oracle的Timestamp with Time Zone类型和Java的`ZonedDateTime`类是处理时区敏感日期时间的关键工具。在开发中,理解它们的工作原理,掌握如何在数据库和应用程序之间正确地转换和操作这些数据,对于构建...
在Oracle数据库中,SQL语言是用于管理和操作数据的主要工具,特别是在处理日期和时间类型的数据时,Oracle提供了丰富的函数和操作符。这篇博文“Oracle的SQL实现日期的功能”将深入探讨如何利用Oracle SQL来处理日期...
总结来说,Oracle 和 SQL Server 数据类型在很多方面有相似之处,如字符串、数字、日期/时间、二进制数据类型,但在细节上有所差异,如长度限制、Unicode 支持和特定用途的类型(如 Oracle 的 Bfile 和 SQL Server ...
在SQL中,处理时间戳是常见的任务,尤其是在分析和过滤数据时。`timestamp`类型用于存储日期和时间信息,而计算两个timestamp之间的差值对于数据分析和报表生成至关重要。本篇文章将详细探讨如何在SQL中计算...
4. **类型安全增强**:引入了新的类型安全机制,如java.sql.Timestamp、java.sql.Date和java.sql.Time,提高了日期时间操作的精确性和一致性。 ### Oracle JDeveloper:强大的J2EE开发工具 Oracle JDeveloper是一...
`DateTime`类型是用于表示日期和时间的,而在不同的数据库系统中,如Oracle和SQL Server,它们对时间类型的处理方式有所不同。本文将深入探讨如何处理这些时间类型,特别是与数据库交互时的转换。 在Oracle数据库中...
例如,某些SQL数据库的DATE类型在Oracle中可能需要转换为TIMESTAMP。 6. 安全性考虑: 在处理密码时,应避免在命令行中明文输入,而是使用Oracle Wallet或其他安全方法来存储和传递凭证。 总的来说,SQL数据库与...
### Oracle 日期转换相关 SQL 知识点 在 Oracle 数据库中,日期处理是一项非常重要的功能,尤其是在数据处理、报表生成等应用场景中。...这些技术在实际工作中非常有用,能够帮助开发者更高效地处理日期相关问题。
oracle timestamp详解 将常用的转换方法及使用注意事项都罗列出来了
PL/SQL是Oracle特有的过程化语言,它与SQL紧密集成,允许编写存储过程、函数、触发器等,增强了数据库的处理能力。 文档可能涵盖了以下关键知识点: 1. **SQL基本语法**:包括SELECT语句用于查询数据,INSERT用于...