一个表中有一日期型字段.如:
name birthday
--------- ------------
aaa 1981-11-2
bbb 1980-1-20
ccc 1981-10-30
eee 1987-2-2
....怎么取出5位最近要过生日的人的名字?
name birthday
--------- ------------
aaa 1981-11-2
bbb 1980-1-20
ccc 1981-10-30
eee 1987-2-2
....怎么取出5位最近要过生日的人的名字?
解决方案 »
- 求助 Delphi dbExpress里的SQLConnection连接MSSQL报错(DLL/Shared Library Name not Set)
- 请问。大家都用什么delphi开发平台?
- 为什么用TDataBase建交临时SQL连接,连接成功后,使用TStoredProcr控件执行存储过程要报General SQL error.错误喃
- 如何通过捕捉消息知道键盘被按下?
- 情人vs老婆?
- 关于读取注册表的问题
- 求救!!关于OnMouseEnter事件
- SQL 高手请进
- C语言怎么换成DELPHI
- 请问怎么取文件的创建时间和修改时间?
- 登陆系统前播放动画
- 关于判断一字符是否为数字(0-9)的问题?很简单的!
select top 5 * from table where DATEPART(month, birthday)>=DATEPART(month, GETDATE()) and DATEPART(day, birthday)>=DATEPART(day, GETDATE()) order by DATEPART(month, birthday),DATEPART(day, birthday)
select top 5 * from
(select name,cast( cast(year(getdate()) as char(4))+ '-' + cast(monthbirthday) as char(2))+'-'+cast( daybirthday) as char(2)) as datetime) as dd from table) a
where dd>getdate()
order by dd其他的可以效仿ps楼上的逻辑错误!
select top 5 * from
(select name,cast( cast(year(getdate()) as char(4))+ '-' + cast(monthbirthday) as char(2))+'-'+cast( daybirthday) as char(2)) as datetime) as dd from table) a
where dd>getdate()
order by dd其他的可以效仿ps楼上的逻辑错误!
Microsoft OLE DB Provider for SQL Server 错误 '80040e31' 超时已过期 /Expert/reply.asp,行105
select top 5 * from (select * from table where birthday>getdate() order by birthday)俺可是测试过了,可以的
用户填写的生日都是今天以前(1980,1972..等等).这样写是不行的.
select name,birthday from
(select t.name,t.birthday
from tw t where birthday is not null
order by
abs(to_number(to_char(birthday,'mm'))-to_number(to_char(sysdate,'mm'))),
abs(to_number(to_char(birthday,'dd'))-to_number(to_char(sysdate,'dd')))) a
where rownum<5