如果这个问题含糊不清,我深表歉意,但我会尽量说清楚。我接到了一项任务,我要获取一个文本文件,将其内容存储在 SQL Server 2008 中,并在给定特定输入的情况下自动创建套用信函。我已经能够将其分解为以下通用结构(无需注意内容,它只是通用文本,但情境分解类似):
Welcome [User],
[if @purchase = true, add this paragraph]
Thank you for purchasing the [device / subscription / subscription and device]
from this business on [date].
[@purchase = true and @return = true, add this paragraph]
I'm sorry you returned it!
...
Signed,
[Author]
[Author Image]
假设我已经能够引入所有必要的变量(用户、购买、返回、日期、设备或设备以及订阅或仅订阅),我应该如何在 SQL 中存储字母片段?具有如下结构是否合适:
+-------+-----------------+----------+--------+
| Order | Text | purchase | return |
+-------+-----------------+----------+--------+
| 1 | (1st paragraph) | TRUE | null |
| 2 | (2nd paragraph) | TRUE | FALSE |
+-------+-----------------+----------+--------+
我将第一段的内容存储为:
Thank you for purchasing the [device / subscription / subscription and device]
from this business on [date].
然后写一个存储过程根据 bool 列拼凑起来,并用输入变量查找/替换括号中的位以将整个字母输出为字符串?老实说,它似乎无法处理太多的可变性。也许将文档分解为段落和句子表?
我的最终目标是将其输出到我创建的报告中,或者更理想的是输出到 Word 文档中(尽管这可能是完全不同的研究)。我在这里离基地很远吗?任何见解都是有帮助的。
最佳答案
您可以在 select 语句中使用 replace 例如
SELECT replace(replace(Text, 'device', @deviceVaribale), 'subscription', @subscriptionVaribale) FROM Order
关于mysql - 为动态文档创建 SQL 表布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25418673/