0

我需要在当前输入的 sql 列中格式化数据,如下所示:

Z04000002003.7

期望的输出是:

Z04/000/002/003.7

每次用户输入类似 Z04000002003.7 这样的数据时。下次用户打开记​​录时,它会自动将其格式化为显示 Z04/000/002/003.7。

4

4 回答 4

2

当您说“打开记录”时,具体发生在哪里?一个网页?

尽可能靠近用户进行格式化 - UI 层。我认为这不是 SQL 问题。

于 2009-07-24T19:17:27.013 回答
1

如果您想在 INSERT 或 UPDATE(当字符串进入数据库时​​)或 SELECT 上插入斜杠,您可以在 TSQL 中使用有点笨拙的字符串表达式来执行此操作:

SUBSTRING(thestring, 1, 3) + '/' + SUBSTRING(thestring, 4, 6) + '/' + ...

依此类推,但我同意其他受访者的观点,即“更接近用户”执行此类转换可能是更好的架构(在 UI 中,或者如果这些斜线实际上是业务逻辑的一部分,则可能在业务逻辑层中,但 UI 看起来更有可能)。

于 2009-07-24T19:40:01.257 回答
0

几个选项:
1. 脚本将所有行格式从旧标准更新为新标准
2. 就像 n8wrl 所说的插入
格式 3. 数据返回格式。

于 2009-07-24T19:28:36.397 回答
0

数据应在输入数据库时​​格式化。UI 不必将输入的确切内容发送到数据库。用户不需要知道您添加了 /s。如果您无法更改 UI 中的数据条目(这将是我在哪里更改它的首选),那么编写一个触发器来处理插入时的数据或更新为正确的格式。确保触发器可以处理多行插入或更新!

于 2010-08-27T17:56:50.717 回答