Ampscript BuildRowsetFromString()在单个项目上失败

时间:2016-08-25 20:12:02

标签: exacttarget ampscript

我已经完成了使用Ampscript的ExactTarget任务。在这里尝试学习。请参阅下面的代码段:

%%[
    Var @testString, @testOutput
    Set @testString = Qwerty
    Set @testOutput = BuildRowsetFromString(@testString,"~")
]%%

TestOutput:%%= v(@testOutput) =%%

如果testString包含~,则代码有效,但如果字符串中没有~字符,则输出为空。这是正确的设计吗?我是否需要添加条件来检查是否存在~字符?

1 个答案:

答案 0 :(得分:2)

这是预期的行为。单独的 BuildRowsetFromString()功能在显示时不会返回任何值,您需要使用行()字段()以便拉出值。

使用您的示例:

%%[
    Var @testString, @testOutput

    Set @testString = "Qwerty"
    Set @testOutput = BuildRowsetFromString(@testString,"~")

]%%

RowCount: %%=RowCount(@testOutput)=%%
TestOutput: %%=v(@testOutput)=%%

RowCount()函数返回值1,实质上是说它知道至少有一行'行'在那里。要显示该值,您需要使用 Field() Row()包装该值:

TestOutput: %%=Field(Row(@testOutput,1),1)=%%

如果你想在字符串中显示其他值,比如你正在传递" Qwerty~Second~Third",你需要更改行()的数字功能或执行循环。

<强>参考

Using Loops

BuildRowsetFromString() Function