易截截图软件、单文件、免安装、纯绿色、仅160KB

急!sql的dateadd()如何控制时间

各位高手,有个问题请教,问题是这样的:

    我现在用dateadd(day,5,'2008-10-28'),如果我现在执行这个的话,它的时间就会变成2008-11-02,我的目的是要对时间加5,但是要控制时间加完5后,不超过传入的时间的月份,也就是要显示在传入时间的月份的最后一天,就像上面的例子一样传入的是‘2008-10-28’加完5后要让它变成‘2008-10-31’,请问如何实现.

在此先谢过
SQL code:
select dateadd(day,-1, convert(varchar(8),dateadd(day,5,'2008-10-28'),120)+'01')


SQL code:
select convert(varchar(10),dateadd(day,-1, convert(varchar(8),dateadd(day,5,'2008-10-28'),120)+'01'),120)
------------
--2008-10-31


SQL code:
declare @dt datetime
set @dt = '2008-10-28'

declare @d int;
set @d = 5;

select
case when convert(varchar(6),dateadd(day,@d,@dt),112)=convert(varchar(6),@dt,112)
then dateadd(day,@d,@dt)
else dateadd(day,-1,dateadd(month,1,convert(varchar(6),@dt,112)+'01'))
end






谢谢高手赐教

SQL code:
select


相关问答:

如何用c#,sql2000 开发c/s下的工作流?

本人c#新手 可是要求要用c# ,sql2000开发c/s的工作流,一头雾水,请大家帮忙帮忙,给点思路,说的约具体越好,我也好往那个方面去学习
http://www.hxzi.com/view/61402.html
B/S版的,基本思想应该差不多的。。 ......

关于group by的sql语句?

  with adod_dict do
    begin
    close;
    commandtext:='select bgqxcode,count(*) wjsl from wscl_wsda_file where wjnd=:tnd group by bgqxcode'; ......

SQL字段,横向展开

请问各位,如何将SQl中,某字段中的值横向展开呢,
CASE WHEN

具体问题具体分析,看你要怎么展开

姓名  科目      成绩
张三  英语    90
李四  英语&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号