select * from table where birth between '日期' and '日期 11:59:59.997 pm'
--最近10天主要是注意跨年的问题 --将出生日期的年份转换到今年判断就容易了select * from 会员表 where dateadd(year,1999-year(birth),birth) between convert(char(10),getdate(),120) and convert(char(10),getdate()+9,120)
select * from 数据库会员表 where birth>=date-10 and birth<=date
用datediff(datepart,startdate,enddate)函数 示例: select * from 表 where datediff(d,birth,getdate())<10
select * from table where birth between dateadd(day,-10,getdate()) and getdate()
select * from table where birth between '日期 00:00:00' and '日期 11:59:59'
select * from table where birth between '日期 00:00:00' and '日期 23:59:59'
SELECT * FROM [表名] WHERE MONTH([birth])=MONTH(getdate()) AND DAY([birth])-DAY(getdate()) BETWEEN 0 AND 10
正象zjcxc(邹建)所说,把出生日期转换为今年就容易了SELECT * FROM 表名 WHERE DATEADD(yy,YEAR(getdate())-YEAR(birth),birth) BETWEEN CONVERT(CHAR(10),getdate(),120) AND CONVERT(CHAR(10),getdate()+9,120)
谢谢朋友们的回答,只是分数太少了,不好意思,下次补上(ps:csdn真是好地方)另好像少了个跨年的问题,我改了一点 SELECT * FROM 表名 WHERE DATEADD(yy,YEAR(getdate()+9)-YEAR(birth),birth) BETWEEN CONVERT(CHAR(10),getdate(),120) AND CONVERT(CHAR(10),getdate()+9,120)
SELECT * FROM 表名 WHERE DATEADD(yy,YEAR(getdate()+9)-YEAR(birth),birth) BETWEEN CONVERT(CHAR(10),getdate(),120) AND CONVERT(CHAR(10),getdate()+9,120) =========================================== 我改了,上面的可以解决跨年的问题
dtb(陈少)的做法不对,应改为 SELECT * FROM 表名 WHERE DATEADD(yy,YEAR(getdate())-YEAR(birth-9),birth) BETWEEN CONVERT(CHAR(10),getdate(),120) AND CONVERT(CHAR(10),getdate()+9,120)
guangtoutou(光头) 我仔细看了看,你的做法跟我的做法,结果是一样的
guangtoutou(光头)的是对的. SELECT * FROM 表名 WHERE DATEADD(yy,YEAR(getdate())-YEAR(birth-9),birth) BETWEEN CONVERT(CHAR(10),getdate(),120) AND CONVERT(CHAR(10),getdate()+9,120)
--将出生日期的年份转换到今年判断就容易了select * from 会员表
where dateadd(year,1999-year(birth),birth)
between convert(char(10),getdate(),120)
and convert(char(10),getdate()+9,120)
示例:
select *
from 表
where datediff(d,birth,getdate())<10
FROM [表名]
WHERE MONTH([birth])=MONTH(getdate())
AND DAY([birth])-DAY(getdate()) BETWEEN 0 AND 10
FROM 表名
WHERE DATEADD(yy,YEAR(getdate())-YEAR(birth),birth)
BETWEEN CONVERT(CHAR(10),getdate(),120) AND CONVERT(CHAR(10),getdate()+9,120)
SELECT *
FROM 表名
WHERE DATEADD(yy,YEAR(getdate()+9)-YEAR(birth),birth)
BETWEEN CONVERT(CHAR(10),getdate(),120) AND CONVERT(CHAR(10),getdate()+9,120)
FROM 表名
WHERE DATEADD(yy,YEAR(getdate()+9)-YEAR(birth),birth)
BETWEEN CONVERT(CHAR(10),getdate(),120) AND CONVERT(CHAR(10),getdate()+9,120)
===========================================
我改了,上面的可以解决跨年的问题
SELECT *
FROM 表名
WHERE DATEADD(yy,YEAR(getdate())-YEAR(birth-9),birth)
BETWEEN CONVERT(CHAR(10),getdate(),120) AND CONVERT(CHAR(10),getdate()+9,120)
SELECT *
FROM 表名
WHERE DATEADD(yy,YEAR(getdate())-YEAR(birth-9),birth)
BETWEEN CONVERT(CHAR(10),getdate(),120) AND CONVERT(CHAR(10),getdate()+9,120)