表T_Sales(员工)字段如下:
字段 名称 类型 说明
Sales_ID 销售员ID NUMBER 主键
Team 销售小组 VARCHAR2
Name 姓名 VARCHAR2
Sex 性别 VARCHAR2
Birthday 出生日期 DATE
StartDate 入职日期 DATE
Sale_Under_Limit 销售额下限 NUMBER 要求用PLSQL创建一张视图,显示特定销售员信息,要求98年进入公司,年龄在20--30岁男性销售员。
视图的列包括:员工ID、姓名、性别、出生日期、入职日期、销售额下限。
字段 名称 类型 说明
Sales_ID 销售员ID NUMBER 主键
Team 销售小组 VARCHAR2
Name 姓名 VARCHAR2
Sex 性别 VARCHAR2
Birthday 出生日期 DATE
StartDate 入职日期 DATE
Sale_Under_Limit 销售额下限 NUMBER 要求用PLSQL创建一张视图,显示特定销售员信息,要求98年进入公司,年龄在20--30岁男性销售员。
视图的列包括:员工ID、姓名、性别、出生日期、入职日期、销售额下限。
解决方案 »
- 能在where中用case嗎?????
- 请问在哪里增加表空间,表一建立时空间是多大呢? 我表建好了,现想把空间改大,在哪里操作呢?
- 关于oracle索引的问题
- 那个高手帮我改造下SQL
- oracle tablespace 问题
- 看看这个存储过程怎么写?
- 请各位帮忙解决:如何在oracle 8.1.7客户端上用exp.exe备份oracle 8.0.5服务端的数据?
- 想知道关于oracle数据库储存数据的问题
- oracle817中的Oracle HTTP Server问题
- oracle 8.0.5中有直接输入数据的地方吗??
- 怎样给oracle视图加一个主键?
- 绑定变量的sql通过程序查很慢,直接执行很快,这是为什么?
StartDate as 入职日期,Sale_Under_Limit as 销售额下限
from T_Sales
where Sex ='男'--男性销售员
and (sysdate-Birthday>20 and sysdate-Birthday<30) --年龄在20--30岁
and to_char(StartDate,'yyyy')='1998'--98年进入公司
你这减出来能是20-30岁?
减出来的都是天啊,要除以365才行啊
或者这样
to_char(sysdate,'yyyy')-to_char(birthday,'yyyy')+1
如果要转成数字,就再to_number一下
简要地说有返回timestamp的计算两个日期之间interval,把timestamp转换成year就行了.
最精确莫过于 trunc(((to_number(to_char(date2, 'YYYYMMDD'))-to_number(to_char(date1, 'YYYYMMDD'))/10000)