-1

我有两张桌子:

Table 1:

Id stringval
-- ---------
1  do you work on date XXXX  and date @@@@

Table 2:

Id  CharString  ValueString
--  ----------  -----------
1   XXXX        5-5-2013
2   @@@@        10-5-2013

我想返回以下字符串值: 您是否在日期 5-5-2013 和日期 10-5-2013 工作

这可以使用 Crystal Reports 实现吗?

或者,是否可以使用 Sql Server 来实现?

4

2 回答 2

0

这里的选项是从表中获取字符串值并使用水晶报表的字符串函数来处理字符串。

我不确定这将如何工作,但试一试。

  1. 你在日期 XXXX 和日期 @@@@ 上工作成一个字符串并按空格分割然后提取XXXX@@@@现在将所需的值5-5-201310-5-2013放入变量现在加入像这样的字符串

    “您是否处理数据“+5-5-2013+”和日期“+10-5-2013

于 2013-05-20T09:29:17.820 回答
0

假设XXXX,或列中的@@@@任何其他值仅显示为占位符,也可以使用 sql server 实现您的目标。像这样的查询会做到这一点:CharStringTable2

DECLARE @CharString VARCHAR(100)
DECLARE @ValueString VARCHAR(100)
DECLARE @SearchString VARCHAR(100)
DECLARE @ResultString VARCHAR(100)

SELECT @SearchString = stringval FROM Table1
SELECT @ResultString = stringval FROM Table1

DECLARE c CURSOR FAST_FORWARD FOR 
SELECT CharString, ValueString 
    FROM Table2

OPEN c

FETCH NEXT FROM c INTO @CharString, @ValueString

WHILE @@FETCH_STATUS = 0
BEGIN
    IF PATINDEX('%' + @CharString + '%', @SearchString) <> 0
        SET @ResultString = REPLACE(@ResultString, @CharString, @ValueString)

    FETCH NEXT FROM c INTO @CharString, @ValueString
END

CLOSE c
DEALLOCATE c

SELECT @ResultString
于 2013-05-20T14:46:28.217 回答