本文介绍了按日期和日期获取数据顺序应该从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中的当前日期开始。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-14 10:35