问题 单项选择题

第(30)~(35)题使用如下三个条件:
部门.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())-YEA良(出生日期)年龄FROM职工;WHERE YEAR(出生日期)>35

C.SELECT姓名,性别,YEAR((DATE())-YEAR(出生日期)年龄FROM职工;WHERE YEAR(DATE())-YEAR(出生日期)>35

D.SELECT姓名,性别,年龄=YEAR(DATE())-YEAR(出生日期)FROM职工;WHEREYEAR(DATE())-YEAR(出生日期)>35

答案

参考答案:C

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

选择题
单项选择题