以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  substring函数的疑问  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=441)

--  作者:kylin
--  发布时间:2008/9/11 17:51:00
--  substring函数的疑问

可以参见以下的例子
http://www.foxtable.com/dispbbs.asp?boardid=2&Id=438

姓名列的表达式中的substring
刚开始使用公式IF(SubString([文号],0,1) = \'L\',\'李四\',IIF(SubString([文号],0,1) = \'T\',\'童五\',IIF(SubString([文号],0,1) = \'Y\',\'杨六\',\'其他\')))
姓名列全部显示 其他 ,没有提示错误
[文号]输入L,提示出错
之后改成IF(SubString([文号],1,1) = \'L\',\'李四\',IIF(SubString([文号],1,1) = \'T\',\'童五\',IIF(SubString([文号],1,1) = \'Y\',\'杨六\',\'其他\')))
都没有出错。

为什么初始时SubString([文号],0,1) 和SubString([文号],1,1)都可以呢? 该函数本身又没有问题?
[此贴子已经被作者于2008-9-11 17:57:46编辑过]

--  作者:狐狸爸爸
--  发布时间:2008/9/11 18:24:00
--  
呵呵,函数直接调用的,不是自定义的,所以应该没问题。
表达式设置的时候,只能检查语法错误,非语法错误只能运行的时候知道。
--  作者:kylin
--  发布时间:2008/9/12 7:33:00
--  
明白
--  作者:kylin
--  发布时间:2008/9/12 7:44:00
--  
建议在帮助中说明一下:

语法:

SubString(StartIndex)
SubString(StartIndex, Length)

参数:

StartIndex: 子字符串的开始位置。
Length: 可选参数,子字符串的长度。
 
StartIndex: 子字符串的开始位置。首位从1开始。

--  作者:狐狸爸爸
--  发布时间:2008/9/12 8:17:00
--  
呵呵,昨晚看到这个帖子后就改了。
--  作者:gsnake
--  发布时间:2017/6/6 9:10:00
--  
看了半天,4楼说的也不是substring函数啊,是字符串的方法

帮助里仍然没有从几开始,方法是从0开始。

这里是函数

http://www.foxtable.com/webhelp/scr/0102.htm

Substring(expression, start, Length
 
是从1开始




--  作者:xnsiwei
--  发布时间:2020/2/15 17:07:00
--  
可以提取日期中的年份吗?
--  作者:有点蓝
--  发布时间:2020/2/15 17:20:00
--  
以下是引用xnsiwei在2020/2/15 17:07:00的发言:
可以提取日期中的年份吗?

参考:http://www.foxtable.com/webhelp/topics/1285.htm