商丘地摊散装饼干批发:SQL数据库查询语句

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 15:56:02
sql数据库中有这样一个表格student:
name class age
小王 一班 15
小李 三班 16-18
小张 四班 19-21
…… …… ……
年龄16-18:是16到18之间,以下类似。我现在知道一个学生的年龄17,我想查到年龄是17的记录。也就是要得到第二行的记录。谁知道用select语句怎么写啊?我快愁死了,急啊?

查找age字段前两位小于17并且后两位大于17的,SQL如下

select * from student
where convert(smallint,left(age,2))<=17 and convert(smallint,right(age,2))>=17

你如果明确要查询的字段,尽量不要用select*,那样速度慢,另外,如果你的age字段是字符型的,16-18得不到age=17或age between 16 and 18 ,把age字段改为数字类型才可以

select * from student where age between 16 and 18

abingpow ,这个方法只对16-18这个行啊,如果有条纪录就是17,就查不出来了
我觉得还是表内容设计上不妥

select * from student where age=17
记得在当前数据库