mysql - 为动态文档创建 SQL 表布局

标签 mysql sql sql-server

如果这个问题含糊不清,我深表歉意,但我会尽量说清楚。我接到了一项任务,我要获取一个文本文件,将其内容存储在 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/

相关文章:

SQL 最新日期

带游标的 MySQL 存储过程

php - 需要mysql查询表中一列下的多个标志

php - 从外部数据库 Joomla 中提取数据

sql - SQL Case 语句中的运算优先顺序是什么?

mysql - 左连接不能正常工作

php - 在我对 API 中的用户进行身份验证后,我应该如何确保他们没有访问权限太久

sql - 如何获取从当前日期算起的最后 12 个月以及截至检索到的上个月 1 日的额外天数

sql - 具有 CTE 的动态枢轴

URL 的 MySQL 数据类型