rxcr.net
当前位置:首页 >> orAClE字符串转日期 >>

orAClE字符串转日期

1.将字符串类型转换为数字类型,这个方法直接用to_number()进行转换,具体的2113语法是to_number(STR)可以进行转换5261.2.将数字类型转换成字符串类型的,这个转换使用to_char(),它有点像上面的to_number()模式,999表示

用oracle的函数to_date() 例如:select to_date('2016-12-30 13:54:20','yyyy-mm-dd hh24:mi:ss') from dual; 注意 hh24是24小时制

字符串转换为 日期,使用to_date方法就能很方便实现例如:to_date('20170622','yyyymmdd')to_date('2017-06-22','yyyy-mm-dd')to_date('20170622221400','yyyymmddhh24miss')

你执行一下:select to_date('2012-09-01', 'yyyy-mm-dd') from dual就知道为什么截取前四位是01-9了

--将字符串转换成日期格式:select to_date('20121021','yyyy-mm-dd') from dual; --出来的结果就是 2012-10-21--将日期格式转换成字符串:select to_char(sysdate,'yyyy-mm-dd') from dual; --出来的结果就是 '2012-11-23' (说明一下,出来的结果本身没有'',我这里添加是为了让你更明白的看清楚而已)

既然你的D2表里对应的是DATE类型,你用to_date()的方式插进去语法是对的,但date类型本来就是年日月时分秒都包含,所以它会自动给你加上年日月(默认都加的2010-03-01).所以最好D2那边的列也是字符型的,或者查询D2的时候加上to_char(xxx,'hh24:mi:ss')将年月日过滤掉.

把程序的数据存到数据库中:当程序中是String 类型时,SQL文应该用上to_date(hiredate,'yyyy-mm-dd hh24:mi:ss')这样放到数据库中就是date类型当程序中是Date类型时,必须先转为String类型,利用new SimpleDateFormate("yyyy-MM-dd hh:mm:ss").format(new Date())转化把数据库中数据取出时要使用to_char(hiredate,'YYYY-MM-DD HH24:MI:SS')变为String类型,还可以继续利用java.sql.Date.valueOf(String s)将 JDBC 日期转义形式的字符串转换成 Date 值.

to_date函数比如select to_date('2015-02-03','yyyy-mm-dd') from dual注意:2015-02-03格式要与yyyy-mm-dd一致

select to_char(to_date(20140518,'yyyymmdd'),'yyyy-mm-dd') from dual;数字先默认被强制类型转换为字符,通过to_data转换为日期、to_char转换为你要的日期格式

有数据的话是改不了数据类型的,你要嘛重新添加一列然后update table set 新列=to_date(旧列,'yyyy-mm-dd hh24:mi:ss');然后 alter table rename column 旧列 to 旧列2;alter table rename column 新列 to 旧列;

网站首页 | 网站地图
All rights reserved Powered by www.rxcr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com