mssql的select语句 表中记录的是年龄,但查询时要求查询出生年份,代码怎样写?
请问第三行是否有问题(添加列名说明,并用函数式计算)usedatabase_namegoselect'出生年份'=2011-agefromtable_name本人初学,请...
请问第三行是否有问题(添加列名说明,并用函数式计算)
use database_name
go
select '出生年份'=2011-age
from table_name
本人初学,请尽量简明地解答,谢。
是要求他们的出生年份,但记录中只有年龄,没有出生年份这一字段的。
如:
ID NAME AGE
1 张红 20
2 李宁 30
3 陈三 25
……
要查询列名为’出生年份‘(自己添加的)
结果通过今年2011-AGE计算嘛
大家回答的我都明白,但不是我想问的。 展开
use database_name
go
select '出生年份'=2011-age
from table_name
本人初学,请尽量简明地解答,谢。
是要求他们的出生年份,但记录中只有年龄,没有出生年份这一字段的。
如:
ID NAME AGE
1 张红 20
2 李宁 30
3 陈三 25
……
要查询列名为’出生年份‘(自己添加的)
结果通过今年2011-AGE计算嘛
大家回答的我都明白,但不是我想问的。 展开
展开全部
应该这样
select 出生年份 from table_name where 出生年份='2011'
SELECT语句的格式应该如下:
select [要查询的字段] from [表名] [条件]
如下表table1
字段 类型
id int
name varchar
age int
表里面的数据如下
id name age
1 小张 20
2 小李 22
3 小红 21
4 小王 27
5 小刘 24
下面要查出表table1中所有的 数据,按年龄倒序
select * from table1 order by age desc
下面要查出表table1中年龄在23到27岁的所有数据
select * from table1 where age between 23 and 27 或者
select * from table1 where age<=27 and age>=23
下面要查出小红的年龄
select age from table1 where name='小红'
精确查询
或者
select age from table1 where name like '%小红%'
模糊查找
select 出生年份 from table_name where 出生年份='2011'
SELECT语句的格式应该如下:
select [要查询的字段] from [表名] [条件]
如下表table1
字段 类型
id int
name varchar
age int
表里面的数据如下
id name age
1 小张 20
2 小李 22
3 小红 21
4 小王 27
5 小刘 24
下面要查出表table1中所有的 数据,按年龄倒序
select * from table1 order by age desc
下面要查出表table1中年龄在23到27岁的所有数据
select * from table1 where age between 23 and 27 或者
select * from table1 where age<=27 and age>=23
下面要查出小红的年龄
select age from table1 where name='小红'
精确查询
或者
select age from table1 where name like '%小红%'
模糊查找
参考资料: http://www.yeation.cn
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select *1 from *2 where *3 order by *4
*1 需要进行操作(比对、显示或检索)的字段名,可以用*代替,表示所有字段。
*2 需要进行操作的表名。
*3 当前操作需要满足的条件。
*4 需要拿来进行排序的字段名。
order by 是排序用的,为升序排列,可以省略,也可以写成order by *4 desc 为降序排列。
若还看不懂,我就无能为力了。。。
比对条件放的位置不对,应该是select * from table_name where '出生年份'=2011-age
你的思路也让我很迷糊,出生年份是通过2011-age得出,相当于你的比对条件是
'2011-age'=2011-age
select * from table_name where '2011-age'=2011-age 我很晕。。。
*1 需要进行操作(比对、显示或检索)的字段名,可以用*代替,表示所有字段。
*2 需要进行操作的表名。
*3 当前操作需要满足的条件。
*4 需要拿来进行排序的字段名。
order by 是排序用的,为升序排列,可以省略,也可以写成order by *4 desc 为降序排列。
若还看不懂,我就无能为力了。。。
比对条件放的位置不对,应该是select * from table_name where '出生年份'=2011-age
你的思路也让我很迷糊,出生年份是通过2011-age得出,相当于你的比对条件是
'2011-age'=2011-age
select * from table_name where '2011-age'=2011-age 我很晕。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from table_name where 出生年份='2011-age';
select * from (表名)where (你表中的字段)='(你要检索的条件)';
================
明白你要什么了,因为数据库中没此列,所以没办法直接查询,只能用计算的方法查
比如要查1990年年份出生的:
select * from table_name where AGE='2011-1990';
select * from (表名)where (你表中的字段)='(你要检索的条件)';
================
明白你要什么了,因为数据库中没此列,所以没办法直接查询,只能用计算的方法查
比如要查1990年年份出生的:
select * from table_name where AGE='2011-1990';
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改为 : select (2011-age) AS '出生年份' from table_name
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询