试试这个:convert (varchar(10),convert(datetime,'2004-1-5 9:21:58' ),120)
触发器:
CREATE TRIGGER *****name ON 表名
INSTEAD OF INSERT 
AS
if exists(select * from 表名 where jh=inserted.jh and dgdate=inserted.dgdate) begin
  update num=num+要添加的值(你的操作)
end

解决方案 »

  1.   

    举例如下:
    if exists(select * from Orders where jh=myjh and dgdate=mydate)
      begin
        update Orders set num=num+1 where jh=myjh and dgdate=mydate
      end
    else
      begin
        insert into Orders values(myjh,mydate)
      end
      

  2.   

    --sorry ,和oracle混了,更改触发器:
    CREATE TRIGGER *****name ON 表名
    INSTEAD OF INSERT 
    AS
    if exists(select * from 表名 where jh=(select jh from inserted) and dgdate=(select dgdate from inserted)) begin
      update num=num+要添加的值(你的操作)
    end
      

  3.   

    CREATE TRIGGER t ON test
    INSTEAD OF INSERT 
    AS
    update test set num=num+inserted.num from inserted where  test.jh=inserted.jh and test.dgdate=inserted.dgdate
    insert into test select * from inserted where not exists(select * from test,inserted where test.jh=inserted.jh and test.dgdate=inserted.dgdate )
      

  4.   

    1,没关系的,如果你设置了字段类型为‘datetime’型,你只要插入了值,都会有小时、分秒的,显示的时候就用convert (varchar(10),ddate ,120)就能显示你要的东西,
    如果你想要取当前日期,默认值可以写convert (varchar(10),getdate(),120);
    2,你发的第2个短信:         
    strSQL="insert into ljdd  (jh,ddbh,wxz,uname,num) values( "&id&",'"&session("inBillNo")&"','"&session("wxz")&"','"&session("xingming")&"',"&num&")"
    conn.execute strSQL
    触发器的INSTEAD OF INSERT是替代insert操作,你尽管往里插入值,至于触发器怎么接收传的值,是因为有inserted\deleted两个临时系统表(你看不见的),sqlserver底层也是由他们控制事务的,比如你在触发器里想访问新插入的值,就select .... from inserted
    想访问将被更改的旧值select ... from deleted
    想访问将被删除的旧值select ... from deleted
    另外包括for insert \ for update \for delete \INSTEAD OF (替代操作)
    注意一点:触发器没执行完,所有数据都还没变呢!
      

  5.   

    CREATE TRIGGER t ON test
    INSTEAD OF INSERT 
    AS
    update test set test.num=test.num+inserted.num from inserted where  test.jh=inserted.jh and test.dgdate=inserted.dgdate
    insert into test select * from inserted where not exists(select * from test,inserted where test.jh=inserted.jh and test.dgdate=inserted.dgdate )