如标题,请问该如何写这个SQL触发器,谢谢!

解决方案 »

  1.   

    UPDATE TB SET DT=NULL WHERE  DT='19000101'
      

  2.   

    不应该用触发器,步骤1:用1楼的语句更新一次。步骤2:假设你是前端程序录入的数据,那么应该在前端判断是否为1900-01-01 如果是即传入null
      

  3.   

    您好,我是刚开始用ASP.NET开发,C#不是很熟悉,我更新后,没有录入的日期字面,都会变成1900-01-01 这样子,请问您有什么好的解决办法?
      

  4.   

    就像我所说的,前端的录入界面应该弄个if/else来判断,if xx.text为‘1900-01-01’就变成null,至于:
    没有录入的日期字面,都会变成1900-01-01 这样子
    那应该是你指定了默认值吧?
      

  5.   

    我用的是这种方法:string JSZDQ = TexJZDQ.Text == "" ? "null" : "" + TexJZDQ.Text + "";
    当TEXTBOX控件为“”的时候,就赋给变量 JSZDQ 为"NULL" 值,现在能得到这个NULL值,但更新的时候,报错
    更新语句中,是这样的!驾驶证到期日期='"+JSZDQ+"',
    但报错说:从字符串向 datetime 转换时失败。 我用 convert 强制转换成日期类型也不行!
    请教如何处理?谢谢
      

  6.   

    =NULL不是
    ='NULL'
    我猜你是搞成了字符串了
    你在执行这段代码执行前 打印出来看看
      

  7.   


    我用的是这种方法:string JSZDQ = TexJZDQ.Text == "" ? "null" : "" + TexJZDQ.Text + "";
    当TEXTBOX控件为“”的时候,就赋给变量 JSZDQ 为"NULL" 值,现在能得到这个NULL值,但更新的时候,报错
    更新语句中,是这样的!驾驶证到期日期='"+JSZDQ+"',加个断点,你就回清楚的看见这个
     驾驶证到期日期='null' 
    搞成了字符串了string strSQL = ...."',驾驶证到期日期='"
    if then
      strSQL =strSQL +"NULL "....
    else
       strSQL =strSQL +" '2013-04-01' "....