CREATE procedure mp.RecordTest
  @Account varchar(64),
  @Id int,
  @CalledPhone varchar(32),
  @SessionTime int,
  @StartTime varchar(32),
  @Spend int
as
begin
  insert into mp.Record values(@Account,@Id,@CalledPhone,@SessionTime,convert(datetime,@StartTime),@Spend)
end
GO

解决方案 »

  1.   

    CREATE procedure mp.RecordTest
      @Account varchar(64),
      @Id int,
      @CalledPhone varchar(32),
      @SessionTime int,
      @StartTime varchar(32),
      @Spend int
    as
    begin
      if isdate(@StartTime) 
      insert into mp.Record values(@Account,@Id,@CalledPhone,@SessionTime,convert(datetime,@StartTime),@Spend)
      else
        print '日期时间格式不对,数据未加入'
    end
    GO
      

  2.   

    再orCREATE procedure mp.RecordTest
      @Account varchar(64),
      @Id int,
      @CalledPhone varchar(32),
      @SessionTime int,
      @StartTime datetime,
      @Spend int
    as
    begin
      insert into mp.Record values(@Account,@Id,@CalledPhone,@SessionTime,@StartTime,@Spend)
    end
    GO
    可以这么调用:
    exec mp.RecordTest
      '11111111',
      1,
      '13522222222',
      1,
      '2004-5-10 19:43',      ---注意这里
      1
      

  3.   

    哦,用isdate判断出原来是@StartTime的问题;可是,我输入的是"2003-12-12"或者"12/12/2003"这些正确的格式阿