我目前数据库有几个字段,如下:
ID SFZD ZD_Date title
1 0 2008-3-27 00:00 测试1
2 1 2008-3-29 12:00 测试2
3 0 2008-3-27 00:00 测试3
4 0 2008-3-27 00:00 测试4里边的sfzd这个字段表示该条信息是否置顶
zd_date这个字段表示如果置顶的话结束日期是好久(精确到小时),不置顶的话默认就是当天的00:00
sql语句
select title from table order by sfzd desc,id desc
这个SQL语句显示出来的就是
测试2
测试4
测试3
测试1
但是到了3-29那天当这个置顶的时间限制到了的时候就该是
测试4
测试3
测试2
测试1
请问在上边那条SQL语句中如何加入判断时间的SQL语句?
在线等待。。
ID SFZD ZD_Date title
1 0 2008-3-27 00:00 测试1
2 1 2008-3-29 12:00 测试2
3 0 2008-3-27 00:00 测试3
4 0 2008-3-27 00:00 测试4里边的sfzd这个字段表示该条信息是否置顶
zd_date这个字段表示如果置顶的话结束日期是好久(精确到小时),不置顶的话默认就是当天的00:00
sql语句
select title from table order by sfzd desc,id desc
这个SQL语句显示出来的就是
测试2
测试4
测试3
测试1
但是到了3-29那天当这个置顶的时间限制到了的时候就该是
测试4
测试3
测试2
测试1
请问在上边那条SQL语句中如何加入判断时间的SQL语句?
在线等待。。
from table
order by case when sfzd=1 and ZD_Date>=getdate() then 1 else 0 end desc,id desc
,海兄火眼金睛啊,呵
select title
from [table]
order by case when ZD_Date<getdate() then 0 else sfzd end desc,id desc
insert into @t select 0,'2008-3-27 00:00','测试1'
insert into @t select 1,'2008-3-28 12:00','测试2'
insert into @t select 0,'2008-3-27 00:00','测试3'
insert into @t select 0,'2008-3-27 00:00','测试4'select * from @t order by
case when zd_date>getdate() then zd_date else 0 end desc ,id desc