to_date问题

worldheart 2003-08-27 10:53:20
本人在移植基于J2EE开发的系统过程中,由于原有的系统采用SQL Server 2000数据库,现需要移植到Oracle9i数据库。由于操作数据库的脚本hard code于程序中,所以在移植过程中,只能够修改创建数据库的sql脚本,或者调整Oracle9i。

现在,碰到一个问题,比如往sql server 2000中插入时间类型的列:

insert into tables values('2003-07-06','adfadf');

但是,换成Oracle9i,一般情况下是需要动用to_date函数的。

问题是,有没有什么办法,使得Oracle9i在默认情况下,使用上面的

insert into tables values('2003-07-06','adfadf');

依然正确。

谢谢
...全文
93 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuipipi 2003-08-27
  • 打赏
  • 举报
回复
客户端是不需要做任何改变的,只需做对服务器端数据库初始化参数的修改~
darkhorsedba 2003-08-27
  • 打赏
  • 举报
回复
客户端用到日期、日期格式是服务器上的日期、日期格式!
LGQDUCKY 2003-08-27
  • 打赏
  • 举报
回复
利用其他方法移植不行吗?
例如migration workbench移植sql server 2000数据库到oracle
还有其他开发工具都带有的工具,都可以试下。。。。。。
LGQDUCKY 2003-08-27
  • 打赏
  • 举报
回复
NLS_DATE_FORMAT='YYYY-MM-DD'
你的客户端也是直接用到数据库里的日期格式的,客户端还需要修改吗?
worldheart 2003-08-27
  • 打赏
  • 举报
回复
但是,我的系统是基于B/S结构,不可能让每个客户都去改客户端吧?
hdkkk 2003-08-27
  • 打赏
  • 举报
回复
还有你客户端的注册表里
或者环境变量里
bluemeteor 2003-08-27
  • 打赏
  • 举报
回复
改注册表最好,可以一劳永逸,改ora文件只是针对某个实例而言

方法楼上说全了
jiezhi 2003-08-27
  • 打赏
  • 举报
回复
init<sid>.ora里
NLS_DATE_FORMAT='YYYY-MM-DD'
最好的方法在注册表里
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEX\ 新建一个字符串健 NLS_DATE_FORMAT
健值 YYYY-MM-DD 就行了。
w_tsinghua 2003-08-27
  • 打赏
  • 举报
回复
修改你的iniYOURSID.ora文件,加入
NLS_DATE_FORMAT='YYYY-MM-DD'
或用
alter session set NLS_DATE_FORMAT='YYYY-MM-DD',区别是这个命令只对当前连接起作用
LGQDUCKY 2003-08-27
  • 打赏
  • 举报
回复
在初始化参数INIT<SID>.ORA文件里添加,nls_date_format='yyyy-mm-dd'
重新启动数据库,
worldheart 2003-08-27
  • 打赏
  • 举报
回复
能告诉我,如何设置、在那里设置吗/

设置nls_date_format='yyyy-mm-dd'

谢谢!
hdkkk 2003-08-27
  • 打赏
  • 举报
回复
设置nls_date_format='yyyy-mm-dd'
Date 对象属性constructor 返回对创建此对象的 Date 函数的引用。prototype 使您有能力向对象添加属性和方法。Date 对象方法getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。getFullYear() 从 Date 对象以四位数字返回年份。getHours() 返回 Date 对象的小时 (0 ~ 23)。getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。getMonth() 从 Date 对象返回月份 (0 ~ 11)。getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。getTime() 返回 1970 年 1 月 1 日至今的毫秒数。getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。getYear() 已废弃。 请使用 getFullYear() 方法代替。parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。setFullYear() 设置 Date 对象中的年份(四位数字)。setHours() 设置 Date 对象中的小时 (0 ~ 23)。setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。setMonth() 设置 Date 对象中月份 (0 ~ 11)。setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。setTime() setTime() 方法以毫秒设置 Date 对象。setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。setUTCSeconds() setUTCSeconds() 方法用于根据世界时 (UTC) 设置指定时间的秒字段。setYear() 已废弃。请使用 setFullYear() 方法代替。toDateString() 把 Date 对象的日期部分转换为字符串。toGMTString() 已废弃。请使用 toUTCString() 方法代替。toISOString() 使用 ISO 标准返回字符串的日期格式。toJSON() 以 JSON 数据格式返回日期字符串。toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。toLocaleString() 据本地时间格式,把 Date 对象转换为字符串。toString() 把 Date 对象转换为字符串。toTimeString() 把 Date 对象的时间部分转换为字符串。toUTCString() 根据世界时,把 Date 对象转换为字符串。UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。valueOf() 返回 Date 对象的原始值。

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧