eg : 传进来一个参数,是‘2010-9-13 (datetime)’。要求查出2010-9-1(datetime)和2010-9-30(datetime)

解决方案 »

  1.   

    SELECT CONVERT(datetime,CONVERT(char(8),getdate(),120)+'1')
    SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,getdate()),120)+'1')
    /*
    -----------------------
    2010-09-01 00:00:00.000(1 個資料列受到影響)
    -----------------------
    2010-09-30 00:00:00.000
    */
      

  2.   


    create procedure pro_getdate(@date datetime)
    as
    select d_max=dateadd(day,-1,cast(YEAR(dateadd(month,1,@date)) as varchar(4))+'-'+cast(MONTH(dateadd(month,1,@date)) as varchar(2))+'-1')
    ,d_min=convert(datetime,cast(YEAR(@date) as varchar(4))+'-'+cast(MONTH(@date) as varchar(2))+'-1')