以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  列字段中的表达式?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110172)

--  作者:hotfox
--  发布时间:2017/11/28 11:17:00
--  列字段中的表达式?
有A、B、C、D、E列,其中A、B、C、D字段为字符串,E列为表达式列
要求:
   当C列为空时,字段A+\'-\'+B+\'-\'+D字符连接,连接效果:A-B-D
   当C列不为空时,字段A+\'-\'+B+\'-\'+C+\'-\'+D字符连接,连接效果:A-B-C-D
请问如何编写E列的表达式?

--  作者:有点甜
--  发布时间:2017/11/28 11:27:00
--  

iif(A is null,\'\', A + \'-\') + iif(B is null,\'\', B + \'-\') + iif(C is null,\'\', C + \'-\') + iif(D is null,\'\', D + \'-\')

 

会多出一个-,需要删除掉

 

substring(iif(A is null,\'\', A + \'-\') + iif(B is null,\'\', B + \'-\') + iif(C is null,\'\', C + \'-\') + iif(D is null,\'\', D + \'-\'), 1, len(iif(A is null,\'\', A + \'-\') + iif(B is null,\'\', B + \'-\') + iif(C is null,\'\', C + \'-\') + iif(D is null,\'\', D + \'-\'))-1)


--  作者:hotfox
--  发布时间:2017/11/28 11:30:00
--  
iff(C="",A+\'-\'+B+\'-\'+D,A+\'-\'+B+\'-\'+C+\'-\'+D)这样写为什么提示错误?
--  作者:hotfox
--  发布时间:2017/11/28 11:31:00
--  
iif
--  作者:有点甜
--  发布时间:2017/11/28 11:32:00
--  
看2楼表达式。
--  作者:hotfox
--  发布时间:2017/11/28 11:37:00
--  
谢谢!