人大金仓数据库中将时间戳值44504.7643503935转为指定格式yyyy-MM-dd hh24:mm:ss的结果为什么会多出两天
时间: 2024-03-01 13:54:49 浏览: 81
人大金仓V7-kdb-7.1.2.0598-release-Windows-i686-installer-build0036
如果将时间戳值44504.7643503935表示的日期转换为指定格式yyyy-MM-dd hh24:mm:ss时,结果多出了两天,很可能是由于时间戳的计算方式与Oracle数据库中日期的计算方式不同所致。
时间戳是从1900年1月1日0时0分0秒开始计算,每一天对应一个整数,小数部分表示当天的时间。而Oracle数据库中的日期是从公元1年1月1日0时0分0秒开始计算,每一天对应一个整数,小数部分表示当天的时间。
因此,在将时间戳值转换为Oracle日期时,需要先将其减去2,即:
```
SELECT TO_CHAR(TO_DATE('1900-01-01', 'YYYY-MM-DD') + 44504.7643503935 - 2, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
```
这样就可以得到正确的日期格式了。
阅读全文