以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQL语句写法请教  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109003)

--  作者:ap9709130
--  发布时间:2017/11/2 12:37:00
--  SQL语句写法请教

离职时间 列为长时间

 

我写成这样:u pda te 联系人表 set 离职时间 = ‘“ &  IIF(r("在职") = true,,Getdat()) & ”’ where

 我希望如果在职 为true ,离职时间 为空,如果 在职 = false  则 离职时间 为当前服务器的时间。

 

但总是会报错,请没有定义 Getdate .要怎么写才对?


--  作者:有点甜
--  发布时间:2017/11/2 14:17:00
--  

update 联系人表 set 离职时间 = null where 在职 = 1;

update 联系人表 set 离职时间 = Getdate() where 在职 = 0


--  作者:ap9709130
--  发布时间:2017/11/2 14:41:00
--  

这样我会写,能不能合在一起,写成一句啊?


--  作者:kunmails
--  发布时间:2017/11/2 14:47:00
--  

update 联系人表 set 离职时间 = (case when 在职 = 1 then null else getdate() end )



--  作者:有点甜
--  发布时间:2017/11/2 14:57:00
--  

1、如果要合在一起,就要写 case when

 

2、没必要合在一起的,执行两句update也没啥问题