我在数据库中有一个日期存储为 varchar 中的长值,例如:1230748200000。我需要使用 oracle 查询从中获取年份。我该如何在 oracle 中进行操作?有没有办法可以将它转换为日期,以便我可以得到年份?问题是我不能使用 to_char(SYSTIMESTAMP,'yyyy') 或 to_Date 因为我没有时间戳或日期格式的日期......而不是将它作为 long varchar
谢谢你。
编辑:您能否为以下情况提供解决方案。我的表中有 1262284398000 保存为 var char.so 正如我所说我需要获取年份我使用以下 sql 将年份返回为 2009
select
to_char(
to_date('01-JAN-1970','DD-MM-YYYY HH24:MI SS') + ( 1262284398000 / (1000*60 * 60 * 24) ) ,'YYYY')
from dual ;
但是在 java 代码中,相同的值返回日期为 2010,所以年份不同,
Calendar c = Calendar.getInstance();
c.setTimeInMillis(1262284398000l);
System.out.println(c.getTime());
System.out.println(c.get(Calendar.YEAR));
哪个日期返回为 Fri Jan 01 00:03:18 IST2010 为什么这里有区别?