Oracle中不同语言环境导致to_date出错的问题

写了个存储过程,里面用了个函数,函数里有一段to_date(dateFrom, ‘yyyy/mm/dd‘),运行后发现数据插入错误,插入的数据为“0001/9/14”。感觉莫名其妙,不知道为什么会是这样的数据,经过调试,发现我在测试窗口输入的日期“2014/9/1”在程序中变成了“01-SEP-14”,瞬间恍然大悟,原来是当做01年9月14日了。

知道了原因就好说了,直接放出解决办法:to_date(to_char(dateFrom, ‘yyyy/mm/dd‘), ‘yyyy/mm/dd‘)。再次运行,成功记录。

时间: 2024-10-17 06:20:20

Oracle中不同语言环境导致to_date出错的问题的相关文章

oracle多语言环境下to_date时间转换问题

现象:在多语言环境下使用过oracle的同学想必都遇到过这样一个问题, date_v date; date_v := to_date('2010/11/16');--或'2010/11/16' 同一个服务器,不同oracle clinet 不一定都行得通. 原因: 不指定转换字符串的情况下,oracle使用既定的格式串进行日期转换操作,执行SELECT * FROM NLS_SESSION_PARAMETERS;察看NLS信息,其中NLS_DATE_FORMAT是当前的格式化日期的格式化字符串.

Oracle中的日期处理函数TO_DATE 和 TO_CHAR

Oracle 中的 TO_DATE 和 TO_CHAR 函数oracle 中 TO_DATE 函数的时间格式,以 2008-09-10 23:45:56 为例 格式 说明 显示值 备注 Year(年): yy two digits(两位年) 08   yyythree digits(三位年) 008   yyyy four digits(四位年) 2008 Month(月): mm number(两位月) 09   mon abbreviated(字符集表示) 9月 若是英文版, 则显示 sep

Oracle在不同的语言环境结果to_date错误的问题

我写了一个存储过程,它使用了功能,有一些功能to_date(dateFrom, 'yyyy/mm/dd').执行发现数据插入错误后,数据插入"0001/9/14". 感觉莫名其妙,我不知道这是为什么这样的数据,调试后,,发现测试的形式我进入"2014/9/1"在节目成为"01-SEP-14",瞬间突然,原来是因为01年9一个月14每日. 我知道这样的原因,.该解决方案直接放行:to_date(to_char(dateFrom, 'yyyy/mm/

Oracle中的时间函数用法(to_date、to_char) (总结)

一.24小时的形式显示出来要用HH24 select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual; 二.to_date() function 1.日期格式参数含义说明 D一周中的星期几 DAY天的名字,使用空格填充到9个字符 DD月中的第几天 DDD年中的第几天 DY天的简写名 IW ISO标准

Oracle中SQL语言介绍以及基本用法

一.SQL语言支持如下类别命令 1.数据定义语言(DDL):CREATE(创建).ALTER(更改) 和 DROP(删除)命令 1.1  CREATE (创建表,表空间,用户, 索引, 视图, 同义词, 过程, 函数, 数据库链接等) 创建表空间的语法; CREATE TABLESPACE tablespace_name DATAFILE '文件名称' [size integer[k|M]]  [autoextend [off | on]] 这里状态 off 是 offline  on是onli

解决UITableView中Cell重用机制导致内容出错的方法总结

UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件.上面主要是一个个的 UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入 UITextField或者UITextView等子视图,使得可以在cell上进行文字编辑. UITableView中的cell可以有很多,一般会通过重用cell来达到节省内存的目的:通过为每个cell指定一个重用标识符 (reuseIdentif

mysql中怎么实现oracle中的to_char和to_date

oracle中的转字符:to_char() oracle中的转日期:to_date() mysql中的转字符:date_format(date,'%Y-%m-%d')   相当于oracle中的to_char() mysql中的转日期:str_to_date(date,'%Y-%m-%d')    相当于oracle中的to_date() %Y:代表四位年  (相当于oracle中的yyyy)注意这里严格大写. %m:代表两位月份(01,02……10,12) %d:代表月份中两位天数(01,02

如何正确设置 Informix GLS 及 CSDK 语言环境

本文介绍 GLS 相关知识,说明如何正确设置 Informix GLS 语言环境相关变量(DB_LOCALE,CLIENT_LOCALE),保证 Informix 数据库服务器.客户端能正确的支持中文字符和支持使用中文的对象名.说明在 CSDK 2.7 以上版本(当前最新版本为 CSDK 3.5)中对语言环境设置的要求.以及举例说明语言环境设置常见错误及解决办法. 概述 IBM Informix 产品可以支持许多语言.文化和代码集.所有特定于文化的信息汇集于单个环境中,称为 Global Lan

Oracle中一些常用符号

Oracle的通配符,运算符一般在where条件子句中出现: 运算符: 等于:=.<.<=.>.>=.<> 包含:in.not in. exists.not exists 范围:between...and.not between....and 匹配测试:like.not like Null测试:is null.is not null 布尔链接:and.or.not 通配符: 在where子句中,通配符可与like条件一起使用.在Oracle中: %(百分号): 用来表示