比如:2002-08-17 9:00:00需要得到2002-08-17 00:00:00
2002-08-17 24:00:00

解决方案 »

  1.   

    是两个SQL 吗?select convert(varchar(10),getdate(),120) + ' 00:00:00';
    select convert(varchar(10),getdate()+1,120) + ' 00:00:00';
    2010-02-01 00:00:00
    2010-02-02 00:00:00
      

  2.   

    declare @date datetime
    set @date = '2002-08-17 9:00:00'select dateadd(hh,-9,@date)  --2002-08-17 00:00:00.000
    select dateadd(hh,15,@date)  --2002-08-18 00:00:00.000
    select dateadd(ss,59,dateadd(mi,59,dateadd(hh,14,@date))) --2002-08-17 23:59:59.000
    --=============时间表示里面24:00:000应该是次日的00:00:000
    select convert(varchar(10),@date,120)+' 00:00:000'  --2002-08-17 00:00:000
    select convert(varchar(10),@date,120)+' 24:00:000'  --2002-08-17 24:00:000
      

  3.   

    if object_id('tb') is not null
    drop table tb
    go
    create table tb(id datetime)
    insert into tb
    select '2002-08-17 24:00:00' 消息 242,级别 16,状态 3,第 2 行
    从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。
    语句已终止。
      

  4.   

    select convert(varchar(25),getdate(),25)
      

  5.   

    select Convert(smalldatetime,Convert(varchar(10),getdate(),120))