注册 登录
编程论坛 SQL Server论坛

到现在的年份小于30岁的人员数 ,用SQL语句怎么完成?

与虫群居 发布于 2006-10-18 11:21, 1971 次点击
我想查询 到现在的年份小于30岁的人员数 ,用SQL语句怎么完成?
14 回复
#2
与虫群居2006-10-18 13:56
急求大家帮忙啊,谁有SQL群提供些好吗?谢谢!
#3
CrazyWeed09072006-10-18 14:13
select count(1) from table1 where datediff(year,birthday,getdate())<'30'
#4
潇洒老乌龟2006-10-18 16:22
select * from tb where datediff(year,birthday,getdate())<30
#5
与虫群居2006-10-18 16:45
谢谢大家,OK了!非常感谢!!
#6
skyland842006-10-23 14:42
datediff是用来比较 日期用的啊~!
哈哈~!学到了~!
#7
nuciewth2006-10-23 22:11
以下是引用潇洒老乌龟在2006-10-18 16:22:59的发言:
select * from tb where datediff(year,birthday,getdate())<30

斑竹,问一下,这里的datediff()是个函数吗?而且里面的参数是怎么给定的(用户定义的?).getdate()它们的格式是什么?

#8
与虫群居2006-10-26 14:55
回楼上,这里的datediff()是个函数,在SQL Server2000里也就使用这个函数。
这个函数可以得到你自定义的年份到现在系统时间年份一共是多少年。
这里的“birthday”是你数据库中的一个字段,或你自定义的一个年度;
getdate()应该是系统的现在年份,直接就把它写上,不要添加别的东西了,没有什么格式的。
#9
潇洒老乌龟2006-10-26 21:20
楼上的比我都学得好了.
#10
潇洒老乌龟2006-10-26 21:22
datediff(year,birthday,getdate())<30

year,参数,按年份计算,也可以是month,day....

上面的意思是求birthday,getdate()之间的年份差.
#11
bygg2006-10-27 00:45

而且像datediff()这样的日期和时间函数还有很多.
如:
dateand()--日期相加;
datename()--返回代表指定日期的指定日期部分的字符串。
datepart()--返回代表指定日期的指定日期部分的整数。
day()--返回代表指定日期的天的日期部分的整数。
month()--返回代表指定日期月份的整数。
year()--返回表示指定日期中的年份的整数。
getutcdate()--返回表示当前 UTC 时间(世界时间坐标或格林尼治标准时间)的 datetime 值。当前的 UTC 时间得自当前的本地时间和运行 SQL Server 的计算机操作系统中的时区设置.

#12
与虫群居2006-10-27 10:02
共同努力,一起进步!
#13
wenbing6992006-10-27 23:14

我也学到了一些知识
谢谢~~~

#14
qijingbin2006-10-27 23:16
我们也开始学习数据库了  以后要常来这里看看了/
#15
honkerman2006-10-27 23:44
datediff()这个T-SQL联机丛书上写的有~可以查的到~~
1