【程序说明】 使用如下三个条件: 部门.DBF:部门号C(8),部门名C(12),负责人C(6),电话C(16) 职工.DBF;部门号C(8),职工号C(10),姓名C(8),性别C(2),出生日期 D 工资.DBF:职工号C(10),基本工资N(8.2)

admin2010-06-18  49

问题 【程序说明】 使用如下三个条件:
部门.DBF:部门号C(8),部门名C(12),负责人C(6),电话C(16)
职工.DBF;部门号C(8),职工号C(10),姓名C(8),性别C(2),出生日期 D
工资.DBF:职工号C(10),基本工资N(8.2),津贴(8.2),奖金N(8.2),扣除N(8.2)
  查向所有目前年龄在35以上(不含35岁)的职工信息(姓名、性别和年龄)的正确的命令是______。

选项 A、SELECT 姓名,性别,YEAR (DATE()) -YEAR(出生日期)年龄 FROM 职工; WHERE 年龄>35
B、SELECT 姓名,性别,YEAR (DATE()) -YEAR(出生日期)年龄 FROM 职工; WHERE YEAR (出生日期)>35
C、SELECT 姓名,性别,YEAR (DATE())- YEAR (出生日期)年龄 FROM 职工; WHERE YEAR (DATE())- YEAR(出生日期)>35
D、SELECT 姓名,性别,年龄=YEAR(DATE())- YEAR(出生日期)FROM 职工; WHERE YEAR(DATE())-YEAR (出生日期)>35

答案C

解析 用日期型函数YEAR()来表达年龄在35岁以上这个查询条件的正确写法应该是: YEAR(DATA())—YEAR (出生日期)>35
其中用到了DATA()函数,先求出当前日期,再用YEAR()求出该日期表示的年份,由此可知选项 A和选项B的表示方法是错误的。选项D的错误在于使用SQL进行查询时,是不能使用等号进行列的赋值操作。故选项C为正确答案。
转载请注明原文地址:https://kaotiyun.com/show/6khZ777K
0

最新回复(0)