本文介绍了按日期和日期获取数据顺序应该从sql中的当前日期开始。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
按日期和日期获取数据顺序应从sql中的当前日期开始
我有一些记录,如
思想日期
A 01 Jan
B 02 Jan
C 03 Jan
.... ...... ..
X 12月
现在我要输出 - 当前日期(2016年9月18日)
思想日期
P 18 Sep
Q 19 Sep
R 20 Sep
.... ...... ..
X 31 Dec
A 01 Jan
B 01 Jan
...... .. .........
Y 01 Sep
... .. ... ...
Z 9月17日
我尝试过:
SELECT ThoughtId,CompanyCode,CompanyId,Thought,
convert(varchar(6),ThoughtDate,106)ThoughtDate
,(isnull时的情况( IsActive,0)= 0然后'InActive'其他'活动'结束)作为状态,
CreatedBy,CreatedDate,ModifyBy,ModifyDate
FROM ThoughtofTheDay
WHERE CompanyId = 214
ORDER BY ABS(DATEDIFF(day,ThoughtDate,GETDATE()))asc
思想ThoughtDate1状态
18-Sep活跃
CA 17-Sep活跃
B 19-Sep活跃
B 20-Sep有效
p 16-Sep Active
i 15-Sep Active
f 21-Sep Active
j 22-Sep Active
在上面的输出中,我希望过去的日期将在未来的日期出现
喜欢9月17日,9月16日,15 sep应该在2017年(2017年6月16日......)
解决方案
get data order by date and date should be start from current date in sql
I have some record like Thought Date A 01 Jan B 02 Jan C 03 Jan …. ….. X 31 Dec Now I Want To Output like – Current Date(18 Sep 2016) Thought Date P 18 Sep Q 19 Sep R 20 Sep …. …….. X 31 Dec A 01 Jan B 01 Jan ….. ……… Y 01 Sep ….. …… Z 17 Sep
What I have tried:
SELECT ThoughtId, CompanyCode, CompanyId, Thought, convert(varchar(6),ThoughtDate,106) ThoughtDate ,(case when isnull(IsActive,0)=0 then 'InActive' else 'Active' end)as Status, CreatedBy, CreatedDate, ModifyBy, ModifyDate FROM ThoughtofTheDay WHERE CompanyId=214 ORDER BY ABS(DATEDIFF(day, ThoughtDate, GETDATE()))asc
ThoughtThoughtDate1Status
A18-SepActive
CA17-SepActive
B19-SepActive
B20-SepActive
p16-SepActive
i15-SepActive
f21-SepActive
j22-SepActive
In above output I want that date which has passed will come in future date
like 17 Sep,16 Sep,15 sep should come in 2017(16 sep 2017....)
解决方案
这篇关于按日期和日期获取数据顺序应该从sql中的当前日期开始。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!