社区
Oracle
帖子详情
如何取得一个日期类型的值?
zahuifan
2004-10-09 05:02:41
听说日期类型的数据在数据库中是以一个整形值的形式存储的,比如 1856-4-3 是 31287。
是不是有什么函数可以把一个日期转换成那个整形值?
...全文
190
14
打赏
收藏
微信扫一扫
点击复制链接
分享
下载分享明细
分享
举报
写回复
14 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
storm_huang
2004-10-14
update 学生@sql
set 生日 = To_char(生日, 'yyyy-mm-dd')
where id = 1
update 学生@sql
set 生日 = To_char(生日, j)
where id = 1
打赏
举报
回复
赞
zahuifan
2004-10-14
To smallcrocodile(大鳄鱼):
其实是这样的:
我在 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 的日期字段。
打赏
举报
回复
赞
smallcrocodile
2004-10-13
楼主就有点杞人忧天了!
你不要管他是不是以整数存储的,你只要把他当日期数据正确读取出来就是了,其实真正是二进制代码了,你还会去研究怎么样把二进制代码转化为你要的类型数据呀
打赏
举报
回复
赞
tanyun1111
2004-10-13
up
打赏
举报
回复
赞
jack_4826
2004-10-12
楼主也够可以的啦,
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
如果你非得要函数,那么你可以自己把什么得语句封装成函数,不要告诉我你不会写函数啊
^_^
打赏
举报
回复
赞
wylwyl1130
2004-10-12
select to_date('1856-4-3','YYYY-MM-DD')-31287 from dual;
TO_DATE('1856-4-3','YYYY-MM-DD
1770-8-5
即,系统以1770-8-5为基准,每增加一天日期标示+1,如:1770-8-6,为1,1770-8-7,为2
select to_date('1856-4-3','YYYY-MM-DD')-to_date('1770-8-5','yyyy-mm-dd') from dual;
TO_DATE('1856-4-3','YYYY-MM-DD
31287
以此类推:20041001 的值为:
85524
打赏
举报
回复
赞
Jackyhou2004
2004-10-12
我也想知道这个问题的答案,但楼上几位答非所问阿。楼主是说,一个date类型的数据在数据库里面用哪个整数表示。1856-4-3 是 31287,那么2004-10-01是什么?估计也是一个5位的整数把,有没有函数让这个日期对应的整数显示出来,这是需要解决的问题。看楼上几个的答案真觉得.......
打赏
举报
回复
赞
jack_4826
2004-10-12
首先日期形式是以float型存储的,整数表示天,小数表示一天中的已过的小时数(当然需要转换为10进制),并且绝大多数系统都是以1899-12-30 00:00:00时间为起点0,所有就可以这样转换
日期转换为实数
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函数即可
打赏
举报
回复
赞
zmgowin
2004-10-11
db2中知道可以用days实现,oracle找了一下还没找到
打赏
举报
回复
赞
dinya2003
2004-10-11
好象是有这么个说法,关注......
打赏
举报
回复
赞
freddy2003
2004-10-11
楼上的各位,有没有看清题目?
打赏
举报
回复
赞
cheng7634
2004-10-09
ding
打赏
举报
回复
赞
wylwyl1130
2004-10-09
select sysdate+30 from dual
日期后面+数字,是加的天数
打赏
举报
回复
赞
bzszp
2004-10-09
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>
打赏
举报
回复
赞
相关推荐
数据库的几种
日期
时间
类
型
,你真的会用吗?
有朋友可能会说,数据库定义
一个
datetime或timestamp
类
型
的字段,然后在Java代码中获取当前时间并存入数据库不就可以了吗? Date now = new Date(); // 调用insert或update方法创建或更新
日期
字段。 最近设计新系统...
mysql毫秒转换
日期
时间_MySQL
日期
类
型
和毫秒
值
相互转换
有时需要将
日期
类
型
值
转换成毫秒
值
,有时也要将毫秒
值
转换成
日期
,为了更方便,满足查询的需要。现在,新建一张数据库表t_stu_info,并向表里插入数据use test;show tables;create table t_stu_info(id int not null...
MySQL 保存
日期
,用哪种数据
类
型
合适?datetime?timestamp?还是 int?
日期
算是我们在日常开发中经常用到的数据...在这些
类
型
中,首先应该排除掉的就是字符串了,很多新手小伙伴爱用字符串存储
日期
,但实际上这并不是
一个
很好的方案。 使用字符串存储
日期
,第
一个
显而易见的问题就是无法
MySQL中
日期
时间
类
型
与格式化
Mysql中常用的几种时间
类
型
有:date、datetime、time、year、timestamp; Datetime : 时间
日期
型
,格式是YYYY-mm-dd HH:ii:ss,表示的范围是从1000到9999。但是有零
值
,0000-00-00 00:00:00;Date:
日期
,就是...
日期
的数据
类
型
Mysql获取和显示这个
类
型
的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。 Datetime
类
型
:存储既有
日期
又有时间的数据。存储和显示的格式为 “YYYY-MM-DD HH:MM:SS”。支持的时间范围是...
发帖
Oracle
微信扫一扫
点击复制链接
分享社区
下载分享明细
1.6w+
社区成员
5.5w+
社区内容
Oracle开发相关技术讨论
社区管理员
加入社区
帖子事件
创建了帖子
2004-10-09 05:02
社区公告
暂无公告