【发布时间】:2020-03-24 07:17:41
【问题描述】:
我们使用软件来存储金融元素的组合。这些元素在某些组合中是允许的。这些组合的例外是前端中的类 SQL 语句,并在数据库表中保存为数值,如下例所示:
+------+------+------+------+------+
| Col1 | Col2 | Col3 | Col4 | Col5 |
+------+------+------+------+------+
| 1 | 2 | 4 | 5 | 1 |
+------+------+------+------+------+
| -1 | 2 | 6 | 4 | 5 |
+------+------+------+------+------+
| 1 | 2 | 5 | 7 | 1 |
+------+------+------+------+------+
我想将这些数值转换回 SQL 语句,如下例所示:
+------+-----------+------+-----------+------+-----------+------+-----------+------+-----------+
| Col1 | Col1Trans | Col2 | Col2Trans | Col3 | Col3Trans | Col4 | Col4Trans | Col5 | Col5Trans |
+------+-----------+------+-----------+------+-----------+------+-----------+------+-----------+
| 1 | ( | 2 | SELECT | 4 | CODE | 5 | LIKE | 1 | * |
+------+-----------+------+-----------+------+-----------+------+-----------+------+-----------+
| -1 | | 2 | SELECT | 6 | NUMBER | 4 | = | 5 | AND |
+------+-----------+------+-----------+------+-----------+------+-----------+------+-----------+
| 1 | ( | 2 | SELECT | 5 | TOOL | 7 | <> | 1 | * |
+------+-----------+------+-----------+------+-----------+------+-----------+------+-----------+
每列中的数值都不同,所以我只能想象使用很多案例......当我怀疑我怀疑的语句是否有效时。我不想创建表来保存翻译值。有没有办法用数组做到这一点?
是否有任何代码示例可以轻松地循环遍历表/列并翻译其中的内容?
【问题讨论】:
-
“我不想创建表格来保存翻译值”为什么?
-
如果您没有一个表来存储“已翻译”的值,那么您将如何使它们可用于您正在编写的任何代码?通过对它们进行硬编码?有什么好处?然后:似乎翻译不仅取决于值,还取决于值出现的列。还是你的例子错了? 1 在一个地方是一个左括号,但在另一个地方是一个星号。这是故意的,还是错误的?
-
@Serg,我不喜欢在数据库中创建表,因为数据库是为这个程序准备的。只有在这种情况下,使用 select-statements 才会感觉更好。
-
@mathguy,这是故意的。每列都有自己的值和翻译,因为这是由使用数据库的程序设计的。如果由我决定,我会这样做。