将varchar数据格式化为某种格式

时间:2009-07-24 19:12:01

标签: sql sql-server-2005 string-formatting

我需要格式化当前输入的sql列中的数据:

Z04000002003.7

所需的输出是:

Z04 / 000/002 / 003.7

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

4 个答案:

答案 0 :(得分:2)

当你说'打开记录'时究竟发生了什么?一个网页?

尽可能将格式设置为尽可能靠近用户 - UI图层。我不认为这是一个SQL问题。

答案 1 :(得分:1)

如果要在INSERT或UPDATE(当字符串进入数据库时​​)或SELECT中插入斜杠,可以在TSQL中使用稍微笨拙的字符串表达式执行:

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

等等,但我同意其他受访者认为,“更贴近用户”(在UI中,或者在业务逻辑层,如果这些斜线实际上属于业务逻辑,但UI看起来更有可能。)

答案 2 :(得分:0)

有两种选择:
  1.脚本更新从旧标准到新标准的所有行格式   2.像n8wrl所说格式插入
  3.数据返回格式。

答案 3 :(得分:0)

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