⑴ 在sql中怎么定义出生日期的字段
使用date类型
date是SQL Server 2008新引进的数据类型。它表示一个日子,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日。只需要3个字节的存储空间
⑵ SQL 如何查询日期在一定范围内的数据
select * from 表 where 日期字段>='开始日期' and 日期字段<='截止日期' and convert(char(8),日期字段,108)>='开始时间' and convert(char(8),日期字段,108)<='截止时间'。
SELECT * FROM 表明 WHERE 日期字段名 BETWEEN '20130101' AND '20130130'。
例如:
select * from tb1 where dDate>='2010-11-05' and dDate<='2010-11-15'
and convert(char(8),dDate,108)>='8:00:00' and convert(char(8),dDate,108)<='9:00:00'.
select * from table1where year(d)=2010 and month(d)=7 and day(d) between 1 and 31
and (Datepart(hour,d)>=22 or Datepart(hour,d)<6)
(2)sql数据库中生日范围语句扩展阅读:
SQL查询日期:
今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0
昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=1
7天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=7
30天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30
本月的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate())=0
本年的所有数据:select * from 表名 where DateDiff(yy,datetime类型字段,getdate())=0
参考资料:SQL_网络
⑶ 数据库根据生日(birthday)查询年龄大于N的员工,(日期转换)写SQL语句
给你举个例子吧:
select from_unixtime((unix_timestamp(now())-unix_timestamp('2009-10-26 10-06-07')))
你可以直接放sql里运行, 例子中,有两个3个mysql函数:
其中from_unixtime()是将时间戳 (一串能转化成时间的数字串) 转化为人能读懂的时间格式;
unix_timestamp()则是相反作用,即将人能读懂的时间转化为时间戳形式;
now()则是获取当前时间(默认是类似于2009-10-26 10-06-07);
为什么要转化成时间戳呢?因为这样能准确,方便的对时间进行加减计算,然后再将时间戳转化回来。
该条语句,运行的结果类似于1982-01-23 01:51:55 , 此时还需要将该数字减去1970,就是年龄了。
你可以根据自己存在数据库中的时间格式进行变通,也许我这说的不一定是对的,但是希望能给你启示,可以根据自己的数据来验证
⑷ SQL中怎么实现查询女生并且是一定出生日期范围内的
select * from 表 where 性别='F' and 生日 between '1989-04-01' and '1990-01-15'
⑸ sql 语句怎么实现数据列表中生日距下一岁的天数,按天数升序的排序方法
Select DateDiff(DAY,GETDATE(),
dateadd(year,
FLOOR(datediff(DY,birthday,getdate())/365.25)+1
,birthday)
)
这个语句就是自当前离生日还有几天的
⑹ 求高手解决:SQL语句查询本周内生日的同学,以及本月内生日的同学....
本周有点麻烦, 本月很简单
本月就是
WHERE MONTH( 生日字段) = MONTH ( GetDate() )
本周就首先要计算出本周的第一天与最后一天
-- 本周一
set @dt1 = DATEADD(WEEK, DATEDIFF(WEEK, 0, GETDATE()), 0)
-- 下周一
set @dt2 = DATEADD(WEEK, DATEDIFF(WEEK, 0, GETDATE()) + 1, 0)
然后一个有点复杂的 SQL
WHERE DATEADD(Year,DATEDIFF(Year,Birthday,@dt1),Birthday)
BETWEEN @dt1 AND @dt2
OR DATEADD(Year,DATEDIFF(Year,Birthday,@dt2),Birthday)
BETWEEN @dt1 AND @dt2
SQL 的解释如下:
http://..com/question/233016367.html
⑺ 在线求sql语句查询生日语句(只显示月和日)重点是怎么查询月初等临界状态
select id,name ,datepart(month,birthday) as mon,datepart(day,birthday) as dy from info
where
(datepart(month,Birthday))*100+(datepart(day,Birthday))>=(datepart(month,getdate()))*100+(datepart(day,getdate()))
and (datepart(month,Birthday))*100+(datepart(day,Birthday))<=(datepart(month,dateadd(day,3,getdate())))*100+(datepart(day,dateadd(day,3,getdate())))
你这个查询已经限定了月份,所以7月的就查不出来
⑻ 用SQL语句查询生日以及今日生日!!
做两个Edit控件名称为:Month,Day。
查询的时候对生日进行分解,提取日和月对比,满足日月吻合的就是符合筛选条件的生日会员。
select * from MemberTable Where Day(Birthday) = '''+Day.text+''' and Month(Birthday) = '''+Month.text+'''
⑼ 在数据库中怎么编写查询年龄在20——30岁之间的会员的sql语句
select*
from会员
where年龄>=20and年龄<=30
“elect * from 学生信息 where age between 18 and 20”此句sql最前面少个s
应该是 select * from 学生信息 where age between 18 and 20 意思是
在学生信息中找年龄在18到20的学生所有字段信息。