Update PAWageSetCalculate Set WageType=1,WageItem='TryWorkDay',DesignFormulas='CONVERT(VARCHAR(10), CASE WHEN IncomeDate IS NULL
                                                  THEN NULL
                                                  ELSE CASE WHEN W.WorkStation = '员工'
                                                              OR W.WorkStation ='技工'
                                                            THEN 60
                                                              + IncomeDate
                                                            ELSE IncomeDate
                                                              + 90
                                                       END
                                             END, 120)',  
                                             
                                             
                                             Re='试用到期时间' Where WageSetID='4'
这个更新改怎么写?想把这个条件语句作为公式保存到字段中
CONVERT(VARCHAR(10), CASE WHEN IncomeDate IS NULL
                                                  THEN NULL
                                                  ELSE CASE WHEN W.WorkStation = '员工'
                                                              OR W.WorkStation ='技工'
                                                            THEN 60
                                                              + IncomeDate
                                                            ELSE IncomeDate
                                                              + 90
                                                       END
                                             END, 120)
然后在下个select查询语句中使用 select DesignFormulas

解决方案 »

  1.   

    Update PAWageSetCalculate 
    Set WageType=1,WageItem='TryWorkDay',
    DesignFormulas='CONVERT(VARCHAR(10), CASE WHEN IncomeDate IS NULL THEN NULL
      ELSE CASE WHEN W.WorkStation = ''员工''
      OR W.WorkStation =''技工''
    THEN 60
      + IncomeDate
    ELSE IncomeDate
      + 90
       END
     END, 120)',  
    Re='试用到期时间' Where WageSetID='4'
      

  2.   

    楼上说得都对.就是两个引号表示一个引号.例如想保存为'TryWorkDay'则应为:'''TryWorkDay'''其他类似.
      

  3.   

    DECLARE @str NVARCHAR(200)set @str =N'CONVERT(VARCHAR(10), CASE WHEN IncomeDate IS NULL THEN NULL
                         ELSE CASE WHEN W.WorkStation = ''员工''
                                  OR W.WorkStation =''技工''
                              THEN 60 + IncomeDate
                              ELSE IncomeDate + 90
                              END
                         END, 120)'
    SELECT @str   
      

  4.   

    两个''表示一个',我试了。为什么还是不行
    插入错误: 列名或所提供值的数目与表定义不匹配。
    语句:
    insert into B_DisPalyFieldEntry values(1,1,'编号','v1.FBillNo+''[''+t16.FNumber+'']''',1,0)