在MS SQL 2000中,从数据库中取得的第一个字段的值,这个字段的类型datetime,格式是“hh:mm”,我取出第二个字段的值,类型也是datetime,但是格式是“yyyy-mm-dd hh:mm:ss”,我现在要用第一个字段的值和第二个字段的值进行比较,我应该怎么做。要求比较的时候,拿第一个字段的值和第二个字段的“hh:mm:ss”进行比较。

解决方案 »

  1.   

    --日期转换参数,值得收藏
    select CONVERT(varchar, getdate(), 120 )
    2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
    20040912110608select CONVERT(varchar(12) , getdate(), 111 )
    2004/09/12select CONVERT(varchar(12) , getdate(), 112 )
    20040912select CONVERT(varchar(12) , getdate(), 102 )
    2004.09.12其它我不常用的日期格式转换方法:select CONVERT(varchar(12) , getdate(), 101 )
    09/12/2004select CONVERT(varchar(12) , getdate(), 103 )
    12/09/2004select CONVERT(varchar(12) , getdate(), 104 )
    12.09.2004select CONVERT(varchar(12) , getdate(), 105 )
    12-09-2004select CONVERT(varchar(12) , getdate(), 106 )
    12 09 2004select CONVERT(varchar(12) , getdate(), 107 )
    09 12, 2004select CONVERT(varchar(12) , getdate(), 108 )
    11:06:08select CONVERT(varchar(12) , getdate(), 109 )
    09 12 2004 1select CONVERT(varchar(12) , getdate(), 110 )
    09-12-2004select CONVERT(varchar(12) , getdate(), 113 )
    12 09 2004 1select CONVERT(varchar(12) , getdate(), 114 )
    11:06:08.177
      

  2.   

    第2个字段这样取
    select CONVERT(varchar(12) , col2, 108 )
      

  3.   

    楼上说的是转换的一种方法,但是那都是转换成varchar类型,不是datetime类型,哪我怎么样和取出的一个时间进行比较呢
      

  4.   

    比较可以用datepart或者datediff等函数来比较啊 
    比较的函数很多的
      

  5.   

    --比如:
    select
      datediff(hh,col1,CONVERT(varchar(12) , col2, 108 ))
      

  6.   


    declare @Dt1 datetime,@Dt2 datetime
    select @Dt1=Getdate(),@Dt2=dateadd(hh,3,@Dt1)select datediff(s,convert(varchar(8),@Dt1,8),convert(varchar(8),@Dt2,8)) as 相差秒
      

  7.   

    先把第二个字段转化成hh:mm
    select convert(varchar(20),getdate(),108)再两个比较