`
iamlotus
  • 浏览: 107899 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

在Oracle中使用from_tz时避免夏令时造成的异常

阅读更多

Oracle 中的from_tz函数,可以将一个timstamp和timzone拼成一个timestamp with timezone

SQL> select from_tz(to_timestamp('20090102','YYYYMMDD'), 'America/Sao_Paulo') from dual;
 
FROM_TZ(TO_TIMESTAMP('20090102
--------------------------------------------------------------------------------
02-1月 -09 12.00.00.000000000 上午 AMERICA/SAO_PAULO

 

但如果这个timestamp在指定的时区内不存在(比如由于夏令时,时钟往前拨了一个小时),就会抛Exception

SQL> select from_tz(to_timestamp('20091101','YYYYMMDD'), 'America/Sao_Paulo') from dual;
 
select from_tz(to_timestamp('20091101','YYYYMMDD'), 'America/Sao_Paulo') from dual
 
ORA-01878: 在日期时间或间隔中没有找到指定的字段

 解决办法嘛,先取出时区的offset,用其构建好timestamp with timezone后再转回指定的时区就好了

SQL> select from_tz(to_timestamp('20091101','YYYYMMDD'), tz_offset('America/Sao_Paulo')) at TIME ZONE 'America/Sao_Paulo' from dual;
 
FROM_TZ(TO_TIMESTAMP('20091101
--------------------------------------------------------------------------------
31-10月-09 11.00.00.000000000 下午 AMERICA/SAO_PAULO
 

 

0
0
分享到:
评论

相关推荐

    ORACLE NO_DATA_FOUND的三种处理办法

    在处理`NO_DATA_FOUND`异常时,有几种常见的策略可以采用。下面我们将详细探讨这三种处理办法。 **方法一:使用EXCEPTION部分处理** 在PL/SQL块中,你可以使用`BEGIN...EXCEPTION...END`结构来捕获并处理`NO_DATA_...

    cx_Oracle使用手册

    手册中提到的常量、类型以及异常处理是cx_Oracle模块实现数据库API时提供的基础结构和功能,它们为开发人员提供了标准的数据库访问模式和错误处理机制。 cx_Oracle模块还包含一些实用工具和扩展方法,例如cx_Oracle...

    详解Oracle数据库的db_cache_size和granule_size

    ### Oracle数据库中的db_cache_size与granule_size详解 #### 一、db_cache_size参数解析 **1. 参数定义** - **名称**: `DB_CACHE_SIZE` - **类型**: 大整数(Biginteger) - **语法格式**: `DB_CACHE_SIZE = ...

    OTL.rar_oracle_oracle O_oracle OTL_otl oracle_otlv4_h.zip

    OTL在设计时考虑了性能和易用性,使得C++程序员能够快速地构建与Oracle数据库交互的应用程序。 OTL的使用主要涉及到以下几个方面: 1. **连接管理**:OTL提供了连接池功能,可以高效地管理和复用数据库连接,避免...

    使用Oracle Spatial对ArcSDE中的SDO_GEOMETRY类型数据进行空间操作

    "使用Oracle Spatial对ArcSDE中的SDO_GEOMETRY类型数据进行空间操作" Oracle Spatial 是 Oracle 数据库中的一个空间数据处理组件,用于存储、管理和操作空间数据。ArcSDE 是一个空间数据引擎,用于存储和管理大规模...

    oracle_11g_R2_client win32 客户端

    - Oracle 11g R2 Client的安装通常包括下载安装文件、运行安装向导、选择安装类型(如“全面安装”或“定制安装”)、配置网络组件(如Net Assistant用于配置监听器和服务名)以及设置环境变量(如ORACLE_HOME和...

    Oracle_win32_11gR2_client.

    Oracle_win32_11gR2_client Oracle 32位客户端 下载链接

    Oracle_win32_11gR2_database

    百度云盘支持,ISO镜像下载 Oracle_win32_11gR2_database 下载速度应该还不错

    Oracle_VM_VirtualBox_Extension_Pack-5.0.2-102096扩展包

    Oracle_VM_VirtualBox_Extension_Pack-5.0.2-102096扩展包

    oracleConnect.zip_OracleConnect_delphi oracle_odac_odac delphi_

    OracleConnect.zip_OracleConnect_delphi oracle_odac_odac delphi_这个压缩包文件主要涉及在Delphi开发环境中,利用ODAC(Oracle Data Access Components)控件来实现与Oracle数据库的连接,而无需安装完整的Oracle...

    oracle 9i 实现wm_concat函数

    oracle 9i 实现wm_concat函数 进行一列多行合并,之间使用,分割

    cx_Oracle离线安装包

    现在,cx_Oracle需要知道Oracle Instant Client的位置,所以在Python代码中,你需要在连接数据库之前设置`ORACLE_HOME`环境变量: ```python import os os.environ['ORACLE_HOME'] = '/opt/oracle/instantclient_11_...

    oralce异常信息对照表

    在实际工作中,`oracle_exception_list.doc`文档可以作为参考手册,当遇到错误时,可以通过查找对应的异常代码和描述,快速定位问题并采取相应的解决措施。同时,了解这些异常也有助于优化代码,预防潜在的错误,...

    oracle用户下.bash_profile文件修改

    第二种方法是直接在.bash_profile文件中设置ORACLE_HOME、ORACLE_SID、LD_LIBRARY_PATH、TNS_ADMIN变量,并更新PATH变量。TNS_ADMIN变量用于指定Oracle Net服务名配置文件的目录。 在进行修改时需要注意的是,修改....

    Oracle Exception汇总(自定义Oracle异常)

    Oracle数据库在处理错误和异常时有一套完整的机制,这些异常主要分为预定义异常和自定义异常。预定义异常是Oracle系统已经内置的一些常见错误,它们都有对应的错误代码(ORA-xxx)。下面,我们将深入探讨一些常见的...

    Navicat连Oracle插件instantclient_18_5.zip

    在Navicat连接Oracle异常时,可能是因为系统中现有的oci.dll文件与Navicat版本不兼容,或者存在其他问题。这时,你可以通过下载并替换oci.dll文件来解决这个问题。"instantclient_18_5"目录下的oci.dll是经过验证...

    修改oracle_sid和db_name名字

    在本文中,我们将详细介绍如何修改 Oracle_sid 和 db_name 名字。 修改 Oracle_sid Oracle_sid 是数据库实例名,用于标识数据库实例。在 Linux 平台下,修改 Oracle_sid 的步骤如下: 1. 修改 `/home/oracle/....

    Oracle_VM_VirtualBox_Extension_Pack-4.2.16扩展包

    "Oracle_VM_VirtualBox_Extension_Pack-4.2.16"是VirtualBox的一个重要组件,主要为用户提供额外的功能和增强性能。 这个扩展包版本号为4.2.16,意味着它是针对VirtualBox 4.2.16版本设计的,可能不兼容更高或更低...

    如何在Oracle 9i中正确转换时区

    Oracle 9i文档中推荐使用FROM_TZ函数来替换NEW_TIME,但需要注意的是,FROM_TZ函数只是将一个带有时区信息的时间戳转换为另一个时间表示,它并不实现时区之间的实际转换。例如,FROM_TZ可以将一个TIMESTAMP WITH ...

    Oracle 11g ProC_C++编程艺术 源代码

    7. **动态SQL**:在Pro*C/C++中,可以使用EXEC SQL EXECUTE IMMEDIATE动态执行SQL语句,这在需要在运行时构建SQL语句时非常有用。 8. **绑定变量**:为了提高性能和减少SQL注入风险,Pro*C/C++支持绑定变量。变量...

Global site tag (gtag.js) - Google Analytics