`
yollywu
  • 浏览: 17748 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

Oracle数据库迁移碰到的问题

阅读更多
数据库迁移碰到的问题:这段SQL表示搜索日期早于to_date的内容
   query=query+ " and {createdate}<=to_date('"+timeend+" 23:59:59','YYYY-MM-DD HH24:mi:ss')";
   page.setQueryString(query);
to_date()是Oracle特有的函数,用来转换时间格式,在系统设计的时候,‘timeend’是传递过来的字符串类型的值
   现在想要改成不同数据库都支持的话,必须把to_date()给替换掉,同时又不影响整个SQL语句表达的最后结果!
   我尝试使用API中的Date类或者其他的类,似乎都不能解决问题,createdate的类型是Date,to_date起到的作用就是把字符串转化为日期。
   比如用户选择的日期是2007-8-8,最后转化后还是2007-8-8,所以使用
        SimpleDateFormat   sdf   =  
  new   SimpleDateFormat("yyyy-MM-dd");  
                          d   =   sdf.parse(bYmd); 等方法是不能成功的。
  
   最后有种解决方法是,另外写个类,写个方法判断数据库的类型,把to_date再封装次,如果是Oracle就不to_date当做字符串传递过去,如果不是则使用对应各种数据库可以转化日期的方法。
   比如
    String sql=query+ " and {createdate}<=to_date('"+timeend+" 23:59:59','YYYY-MM-DD HH24:mi:ss')";
    B.getSql(sql);
   如果判断是Oracle,则sql不变,如果不是,则修改to_date为对应数据库的方法。
   有种最简单的方法就是把数据库字段类型改了去 ,可惜经理可能会不同意。
   不知道上面方法的可行性怎么样..还有没有更好的方法。
  
    [list=]
[/list]
分享到:
评论
12 楼 chenkan2000 2007-07-25  
用HQL的cast(... as ...)表达式试一试。
11 楼 earlyup 2007-07-23  
楼上的同志,用hibernate能顺利搞定这问题吗,我用的hibernate,不知道该怎么解决这问题。
10 楼 galaxystar 2007-06-23  
用ibatis可以很轻松搞定这条sql
9 楼 yiqingfeng 2007-06-23  
传Timestamp进去
8 楼 yollywu 2007-06-23  
你怎么还不明白呢
date 就是date 没有什么这那的date类型 你看到的那个结果是因为你对这个date进行了 format

  大哥,我知道那个结果是format的结果,你format一个那样的结果试下,我是说我尝试过没format的出来.
7 楼 ddandyy 2007-06-21  

  前面我说过我尝试过把string转成 date ,使用DateFormat.parse()可以把字符串类型格式化成
Date类型,但是结果是类似Wed Aug 08 00:00:00 CST 2007这种数据,如果存储这种数据的话,恐怕没人会接受


你怎么还不明白呢
date 就是date  没有什么这那的date类型   你看到的那个结果是因为你对这个date进行了 format


6 楼 seacat 2007-06-21  
理想的做法是用PreparedStatement,sql语句中使用占位符:"..and create_date<?"
然后setDate()传递java.sql.Date类型的参数
不过看你代码里面是直接传递拼装好的sql作为参数,恐怕就有点麻烦
5 楼 yollywu 2007-06-15  
引用
用户输入的是string xxxx-xx-xx 然后你在sql里通过 to_date() 把他变成了date 放在数据库里
我的意思是 你在代码里就把这个string转成 date 然后 在sql里就不 to_date 了 直接放进去 试试


  前面我说过我尝试过把string转成 date ,使用DateFormat.parse()可以把字符串类型格式化成
Date类型,但是结果是类似Wed Aug 08 00:00:00 CST 2007这种数据,如果存储这种数据的话,恐怕没人会接受,public static  boolean strToDate(String   bYmd) throws ParseException
{
java.util.Date   d   =   null;
boolean  e=false;
  try   {  
  if   (bYmd   ==   null   ||   bYmd.trim().length()   ==   0)   {  
     return e ;  
  }   else   {  
 
  SimpleDateFormat   sdf   =  
  new   SimpleDateFormat("yyyy-MM-dd");  
                          d   =   sdf.parse(bYmd);  
    System.out.println("日期1="+d);
  }  
  }   catch   (Exception   e1)   {  

  }  
  return   e;  
  }
public static void main(String[] args) throws ParseException {
// TODO Auto-generat ed method stub
strToDate("2007-8-8");}
  只是希望有更好的办法,没有就结贴了..
4 楼 whistler 2007-06-15  
在拼sql语句时日期用字符串,不用转成日期格式吧,我一直都是这么用的,如果预置参数的话必须日期格式
3 楼 ddandyy 2007-06-14  
很奇怪  在数据库中存在的形式明明是date吧 你为什么要强调他是xxxx-xx-xx形式呢  那只是你用工具查看的时候工具自动format的结果吧

用户输入的是string xxxx-xx-xx  然后你在sql里通过 to_date() 把他变成了date 放在数据库里
我的意思是  你在代码里就把这个string转成 date 然后 在sql里就不 to_date 了  直接放进去  试试

我们这不用date类型的字段  所以没试过  不知道会不会报错
2 楼 yollywu 2007-06-14  
  直接做一个 java.sql.date 的类型放进去会报错么
   你是指替换掉timeend还是替换掉整个(to_date('"+timeend+" 23:59:59','YYYY-MM-DD HH24:mi:ss')";
)?timeend是页面传递过来的参数,页面那里是通过一个JS日期选择框
   用户选择的日期是2007-8-8,最后转化后还是2007-8-8,这是最种在数据库存在的形式
1 楼 ddandyy 2007-06-14  
你直接做一个 java.sql.date 的类型放进去会报错么

相关推荐

    Oracle数据库迁移升级详细步骤.docx

    Oracle数据库迁移升级详细步骤 Oracle数据库迁移升级是指将现有的Oracle数据库从低版本升级到高版本,或者将数据库从一台服务器迁移到另一台服务器,以提高数据库性能、安全性和可扩展性。以下是Oracle数据库迁移...

    oracle数据库迁移实例01

    ### Oracle数据库迁移实例01:Windows环境下通过镜像文件实现db_name与instance_name不一致的迁移 #### 环境概述 本案例介绍了一个特定场景下的Oracle数据库迁移过程,涉及的环境包括: - **源数据库**:Oracle 9.2...

    oracle向达梦数据库迁移

    Oracle12C 向达梦8(DM8)迁移是一个涉及多个步骤的技术过程,主要目的是将现有的Oracle数据库系统顺利地转换到达梦数据库平台,以利用其特定的优势或满足特定的业务需求。以下是对这个迁移过程的详细说明: 一、...

    linux下的ORACLE 数据库迁移

    Linux 下的 Oracle 数据库迁移 在 Linux 平台上,Oracle 数据库迁移是一个复杂的过程,需要对数据库的备份、还原和配置进行详细的规划和实施。下面将对 Linux 下的 Oracle 数据库迁移过程进行详细的介绍。 一、...

    Oracle到Mysql数据库迁移总结

    Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结

    oracle数据库迁移

    Oracle 数据库迁移 Oracle 数据库迁移是指将 Oracle 数据库从一个平台迁移到另一个平台的过程。这个过程包括字符集的介绍和设置、用户的导出和导入、表空间的创建和管理等几个方面。 一、字符集的介绍和设置 在 ...

    Oracle至PostgreSQL数据库迁移方案.pptx

    五、Ora2PG迁移问题 在使用Ora2PG迁移数据库时,可能会遇到一些问题,例如当前时间函数的替换、dblink的处理、时间截断函数的转换等。 Ora2PG是一个功能强大且灵活的迁移工具,能够帮助用户将Oracle或MySQL数据库...

    快速实现Oracle数据库大数据迁移方案

    "快速实现Oracle数据库大数据迁移方案" 通过本教程,我们可以学习如何快速迁移 Oracle 数据库,以实现稳定快速的大数据量迁移。以下是本教程中所涵盖的知识点: 1. 了解 Oracle 数据库迁移中的挑战:在迁移 Oracle...

    巧用策略实现Oracle数据库的迁移

    巧用策略实现 Oracle 数据库的迁移 本文主要介绍了 Oracle 数据库迁移的基本知识和步骤,以及两种常用的数据库迁移方法:导入/导出工具和 SQL*Loader 工具。 首先,Oracle 数据库迁移可以从一个版本迁移到另一个...

    oracle项目--DataBase Migration(数据库迁移)PPT

    Oracle数据库迁移项目是IT行业中常见的任务,涉及到将数据和结构从一个数据库系统迁移到另一个,例如从SQL Server迁移到Oracle。以下是对四种数据库迁移方案的详细说明: **方案一**: 此方案主要依赖于手动操作和...

    oracle数据库迁移版本兼容问题.docx

    Oracle数据库的迁移涉及到不同版本之间的兼容性问题,这是在数据库管理中常见的挑战。本文主要讨论了从Oracle7到Oracle11g版本之间的导入/导出操作,并提供了相关的准备工作和注意事项。 首先,数据库迁移的核心...

    基于Linux和虚拟化平台的Oracle数据库迁移.pdf

    基于Linux和虚拟化平台的Oracle数据库迁移是指将Oracle数据库从Windows操作系统迁移到基于Linux和虚拟化平台的操作系统,以提高系统的性能、可靠性、稳定性和安全性。这种迁移方案可以满足医院业务系统对性能、可靠...

    Oracle升级迁移实战文章和方案文档汇总-共168篇.xlsx

    Oracle数据库三种迁移方案 Oracle DataGuard方式迁移数据库 数据库迁移升级最佳实践9i-10g-11g Oracle ASM扩容&数据迁移文档 06使用XTTS技术进行U2L跨平台数据迁移 Oracle 迁移至 PostgreSQL 在华为 ARM 上的解决...

    oracle数据库迁移步骤

    ### Oracle数据库迁移步骤详解 #### 一、Oracle数据库迁移概述 在进行Oracle数据库迁移时,尤其是在从旧版本向新版本迁移的过程中,确保数据的一致性和完整性至关重要。Oracle提供了多种工具和技术来实现这一点,...

    大型Oracle数据库迁移优化方法.pdf

    本文主要探讨了大型Oracle数据库迁移过程中的优化策略,旨在解决传统迁移方法中可能出现的数据丢失、逻辑混乱和对接困难等问题。以下是详细的知识点说明: 1. **Oracle数据库数据迁移**:Oracle数据库是全球广泛...

    ORACLE数据库迁移1

    ORACLE 数据库迁移指南 在 ORACLE 数据库迁移过程中,有多种方法可以选择,本文将介绍三种常用的迁移方案:exp/imp 方案、expdp/impdp 方案和 RMAN 方案。每种方案都有其优缺,选择哪种方案取决于实际情况。 exp/...

    ORACLE数据库冷备份方式迁移.pdf

    Oracle数据库的冷备份迁移是一种在数据库关闭状态下进行的迁移方法,主要涉及数据库文件的复制、参数文件的调整以及可能的版本升级。以下是对这个过程的详细解释: 首先,确保新服务器上安装的Oracle数据库版本与旧...

    xx生产系统oracle数据库迁移.docx

    oracle 数据库迁移技术 Oracle 数据库迁移是指将 Oracle 数据库从一台服务器迁移到另一台服务器上,这个过程需要对数据库进行备份、传输和恢复。以下是 Oracle 数据库迁移的知识点: 一、操作目的 * 利用 NFS 和 ...

Global site tag (gtag.js) - Google Analytics