17:03:04 SQL> select to_date('1770-08-05','yyyy-mm-dd')+31287 from dual;TO_DATE('1770-08-05
-------------------
1856-04-03 00:00:00已用时间: 00: 00: 00.16
17:04:32 SQL>
-------------------
1856-04-03 00:00:00已用时间: 00: 00: 00.16
17:04:32 SQL>
解决方案 »
- 导数据的时候报内存不足如何解决
- INNER JOIN的问题,
- sql 查询
- 如何计算当前时间加 一小时后的时间?一个月呢?
- 在oracle中,用SQL语句怎样将一个表的所有列标题用逗号连接起来,组成一个字符串,并去掉最后一个逗号?
- 历史库查询问题解决方案
- 触发器和存储过程
- 错过一次发财的机会.散分.给分500
- 设置SET VERIFY On 的作用是什么?
- 在导出数据时候出现以下错误:“使用首选身份证明时出现如下错误:ORA-00020:maximum number of process(50) exceeded"
- 大家帮忙看看这段程序在触发器中执行得逻辑过程!!!
- 2 我的oracle是不是没有安装完全?请教大家了!谢谢!
日期转换为实数
select sysdate-to_date('1899-12-30','yyyy-mm-dd') from dual;实数转换为日期
select xxx.xxx+to_date('1899-12-30','yyyy-mm-dd') from dual;如果是整数加上trunc函数即可
TO_DATE('1856-4-3','YYYY-MM-DD31287
以此类推:20041001 的值为:
85524
select sysdate-to_date('1899-12-30','yyyy-mm-dd') from dual;
详解如下
把上面的sysdate改为
select to_date('2004-10-01','yyyy-mm-dd')-to_date('1899-12-30','yyyy-mm-dd') from dual
结果返回整数为38261
如果你非得要函数,那么你可以自己把什么得语句封装成函数,不要告诉我你不会写函数啊
^_^
其实是这样的:我在 Oracle 中已经成功建立了到 SQLServer 的数据连接。
我的 SQL Server 数据库中有一个表[学生],它有一个字段[生日]是日期型的。
我在 SQL Plus 中,想
update 学生@sql
set 生日 = '1980-5-1'
where id = 1
出错。改成:
update 学生@sql
set 生日 = 1980-5-1
where id = 1
也不行我也试了:
update 学生@sql
set 生日 = To_Date('1980-5-1', 'yyyy-mm-dd')
where id = 1
还是出错。只有:
update 学生@sql
set 生日 = 31287
where id = 1
不出错,于是我就想能不能先把 Oracle 中的日期转换为整数再赋值给 SQL Server 的日期字段。
set 生日 = To_char(生日, 'yyyy-mm-dd')
where id = 1update 学生@sql
set 生日 = To_char(生日, j)
where id = 1