Sql 您可以使用列作为函数中的数据之一吗?
是否可以在月间隔(data1、data2)函数中使用一列完整的数据 例如,我可以创建一个包含一组员工姓名和年龄的视图,其中年龄是从员工的“出生”列计算出来的吗Sql 您可以使用列作为函数中的数据之一吗?,sql,oracle,Sql,Oracle,是否可以在月间隔(data1、data2)函数中使用一列完整的数据 例如,我可以创建一个包含一组员工姓名和年龄的视图,其中年龄是从员工的“出生”列计算出来的吗 任何帮助都将不胜感激 是的,通常您可以在任何函数中使用列,它是数据库!例如: select a.*, months_between(sysdate, dob) from users a 正如A.B.Cade在评论中使用A。这样做的好处是将数据存储在一个表中,即可以对数据进行索引并收集统计数据,同时提供在视图中动态计算的“始终最新”的
任何帮助都将不胜感激 是的,通常您可以在任何函数中使用列,它是数据库!例如:
select a.*, months_between(sysdate, dob)
from users a
正如A.B.Cade在评论中使用A。这样做的好处是将数据存储在一个表中,即可以对数据进行索引并收集统计数据,同时提供在视图中动态计算的“始终最新”的好处。不幸的是,年龄是不确定的,它根据当前的系统日期定期变化,因此虚拟列无法工作
创建视图应该很好:
create or replace view users_age as
select u.*, floor(months_between(sysdate, dob)/12) as age
from users u;
你的意思是这样的吗?顺便说一句,由于11g有虚拟列的概念,可能会满足您的要求,非常感谢!现在,我在SQL中使用函数等更加自如;逐渐习惯:)