SQL里面没有这种类型,连小的的时间类型是smalldatetime不过你可以创建成一个自定义的数据类型 然后再创建一个规则,然后将这个规则绑定到这个数据类型上,就可以达到你要要求了 创建自定义的数据类型: sp_addtype typTime,char(8) 创建规则: create rule rulTime as @temp like '[0-59]:[0-59]:[0-59]' 将规则绑定到自定义数据类型: sp_bindrule rulTime,typTime 然后就可以在系统中用自己自定义的数据类型了 也没测试过,可能会有点小错误,楼主自己去调试啦
第二个问题,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,楼主可以用这个值再比将
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'
--》取好名字,在值中输入:right(replace(convert(varchar(20),getdate(),120),'-',''),8)2。再建一个“用户定义的数据类型”。在你所在的数据库--》用户定义的数据类型(与表并列)
--》新建用户定义的数据类型,取好名字,
选择数据类型varchar,长度20 ,在默认值中选择你上面建的哪个默认值
3。在你的表中,将你的时间字段的数据类型,改为上面建的哪个数据类型,就可以得到了。
然后再创建一个规则,然后将这个规则绑定到这个数据类型上,就可以达到你要要求了
创建自定义的数据类型:
sp_addtype typTime,char(8)
创建规则:
create rule rulTime
as
@temp like '[0-59]:[0-59]:[0-59]'
将规则绑定到自定义数据类型:
sp_bindrule rulTime,typTime
然后就可以在系统中用自己自定义的数据类型了
也没测试过,可能会有点小错误,楼主自己去调试啦
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,楼主可以用这个值再比将