如题,我从mysql向oracle里导入了一个表,表里面有个birthday的列,在原来在mysql里面此列是date类型的,可是向oracle导入时老是报错,但是把date变成varchar就导进去了,我现在把birthday以varchar字符类型导入了oracle里面所以
现在需要把oracle里面的varchar变成date,在网上查需要转换函数,请问大侠如何转换,具体点,比如在哪里敲那个命令。
谢谢各位大侠,小弟写的罗嗦了点,各位莫怪!
现在需要把oracle里面的varchar变成date,在网上查需要转换函数,请问大侠如何转换,具体点,比如在哪里敲那个命令。
谢谢各位大侠,小弟写的罗嗦了点,各位莫怪!
多了个星。
现列举几种:
select to_date('20100130','yyyymmdd') from dual;
select to_date('01-5月-05','dd-mon-yy') from dual;
select * to_date('2010-01-30 18:30:00','YYYY-MM-DD HH24:MI:SS') from dual;
....
还有很多!
2. 新列内容根据旧列update,to_date
3. drop掉旧列
4. 重命名新列为旧列名
我试了下,提示‘ORA-01843:无效的月份’不知道是怎么回事。还有就是我要转换的是一列的数据,都是‘0000-00-00’格式的,4、6楼的大侠所举的例子是不是针对
某个特定的值?我不是很理解,本人太菜了,大侠莫怪嘿嘿,请说滴再明白点点……
那就select to_date(col_name||' 00:00:00', 'YYYY-MM-DD HH24:MI:SS') from tbl
这样查询出来的数据就是0000-00-00 00:00:00的date类型格式
select to_date(bday||' 00:00:00', 'YYYY-MM-DD HH24:MI:SS') from bbs其中bday是列名,bbs是表名,仍然报错说是‘无效的月份’是不是我输入错了啊?本人小菜鸟,莫笑
检查下数据格式吧。
语句是这样的:
select *,
convert (smalldatetime ,bday) as bday
from user1
2,将修改好的文件再导回mysql,并把date修改为varchar
3,将修改好的表以varchar导入sql server
4,用sql server把表导入Oracle的date中至此,大功告成!
注意:第三步中,不经过sql server直接导入oracle 的date不可以,我做过实验了,不知为什么,还望大侠解释!感谢各位大侠的帮助!感激!