易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle中由出生年月获得年龄

select sname,(2009-10-05)-birth
from student;

birth字段中存的是出生年月,想查询出来的结果是年龄,该如何查询?
加上datediff函数试试

select sname, to_char(sysdate,'YYYY')- to_char(birth,'YYYY') age from student"; 


楼上的很正确,我还想问个问题,如何用sql语句修改一条记录中某个字段的值?
比如,将一条记录的birth值修改成‘2000-05-05’

select sname,trunc(date'2009-10-05'-to_date(birth,'yyyymm') ) age
from student;

birth是date类型的?
select sname,trunc(sysdate-birth) age from student
就行了

修改用update
问题是你想根据什么查找到要修改的记录
sname?

引用
birth是date类型的?
select sname,trunc(sysdate-birth) age from student
就行了

修改用update
问题是你想根据什么查找到要修改的记录
sname?


select sname,trunc((sysdate-birth)/365) age from student
这样才能求出年龄值,为什么还要除以365呢?

我修改用的语句如下:
update student set birth='2000-05-05' where sname='张立';
提示:ORA-01861:文字与格式字符串不匹配

...日期相减得到的是天数
你修改后的生日格式为字符型,但表里的是日期型的吧
改成
update student set birth=to_date('2000-05-05','yyyy-mm-dd') where sname='张立'

引用


相关问答:

oracle BLOB大字段读写出现问题

下面是我在网上找的BLOB读写程序,但是一直运行不出来,有一行
blob = (BLOB)rst.getBlob(1);
一直报错,Exception in thread "main" java.lang.UnsupportedOperationException
at sun.jdbc.odb ......

windows7 and oracle数据库


为什么在windows7上装不上oracle数据库???
因为不支持

可以安装数据啊, 你用的那个版本的Windows 7啊,目前7600的兼容性有很大提升了,,我是用SQL Sever 2005,就没有问题,oracle应该也可以的,如果不 ......

oracle中resultset错误

在oracle中用jdbc来连接数据库,为什么Resultset里面嵌套ResultSet,到循环的第二次就报空指针,哪位知道是怎么回事吗?
代码:Java code:
while(prors.next()){
System.out.println(prors.getRow ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号