decimal要指定小数位
declare @a decimal(6,1)
    set @a=123.1
    select @a  
你再试试
至于datetime,联机帮助有说明:“从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确度为百分之三秒(等于 3.33 毫秒或 0.00333 秒)。如下表所示,把值调整到 .000、.003、或 .007 秒的增量。”