oracle 这样的日期‘01-8月 -50 08.00.00.000000000 上午 ’转为正常时间格式 为什么是1950 我想让他是

select cast (cast ('01-8月 -50 08.00.00.000000000 上午' as timestamp) as date ) from dual ; 我想让结果是 2050-8-1 8:00:00 该怎么处理 ?

oracle这样的日期‘01-8月 -50 08.00.00.000000000 上午 ’转为正常时间格式是1950,是设置错误造成的,解决方法如下:

1、打开oracle数据库新建一张表,话题是设置日期格式,因此字段2个date_time和time_time都是日期类型,如图。

2、这是简单的查询表,那是显示的日期还是日期格式,如图。

3、如果是现在查询的时候,查询日期显示结果设置日期格式,可以使用oracle数据库函数to_char来实现,这样的结果都是字符串,如图。

4、如果是在插入语句insert into 来把数据插入的表中,字符串的日期可以使用oracle数据库的函数to_date来实现把字符串转换成日期插入到数据库中,如图。

5、先修改日期类型,字符串的日期需要转换成日期格式,才能更新,这里也使用to_date函数

6、如果执行删除语句,条件是日期,那么也可以使用oracle数据库to_date函数来实现。

7、这样就完成了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-05
select   to_char(cast (cast ('01-8月 -50 08.00.00.000000000 上午'  as timestamp)  as date    ),'yyyy-mm-dd hh24:mi:ss')  from dual  ;