一定要的话用varchar(10)保存好了
其实datetime类型就可以了
读出来的时候convert(varchar(10),[datetime],数字)--这里你查下CONVERT我没有调试器

解决方案 »

  1.   

    declare @a datetime,@b datetime
    set @a='2005-09-09 23:12:11'
    set @b='2005-09-09 23:16:10'
    if (select convert(char(8),@a,108)) >(select convert(char(8),@b,108))
    print '@a大于@b'
    else
    print '@a小于@b'
      

  2.   

    select convert(char(8),getdate(),108)
      

  3.   

    1。先在数据库中建个“默认值”。在你所在的数据库--》默认值(与表并列)--》新建默认值
    --》取好名字,在值中输入:right(replace(convert(varchar(20),getdate(),120),'-',''),8)2。再建一个“用户定义的数据类型”。在你所在的数据库--》用户定义的数据类型(与表并列)
    --》新建用户定义的数据类型,取好名字,
    选择数据类型varchar,长度20 ,在默认值中选择你上面建的哪个默认值
    3。在你的表中,将你的时间字段的数据类型,改为上面建的哪个数据类型,就可以得到了。
      

  4.   

    SQL里面没有这种类型,连小的的时间类型是smalldatetime不过你可以创建成一个自定义的数据类型
    然后再创建一个规则,然后将这个规则绑定到这个数据类型上,就可以达到你要要求了
    创建自定义的数据类型:
    sp_addtype typTime,char(8)
    创建规则:
    create rule rulTime
    as
    @temp like '[0-59]:[0-59]:[0-59]'
    将规则绑定到自定义数据类型:
    sp_bindrule rulTime,typTime
    然后就可以在系统中用自己自定义的数据类型了
    也没测试过,可能会有点小错误,楼主自己去调试啦
      

  5.   

    第二个问题,SQL里面有个函数可以返回小时分钟秒的
    DATEPART ( datepart , date )日期部分 缩写 
    year yy, yyyy 
    quarter qq, q 
    month mm, m 
    dayofyear dy, y 
    day dd, d 
    week wk, ww 
    weekday dw 
    Hour hh 
    minute mi, n 
    second ss, s 
    millisecond ms 例:
    datepart(yy,'1985/5/6')这时候将返回1985,楼主可以用这个值再比将