【发布时间】:2014-07-11 20:36:44
【问题描述】:
在什么情况下适合在 SQL 查询或视图中对值进行表示格式,以便可以在应用程序中直接向用户显示这些值?
背景: 在转换一些用旧版 Microsoft Access 数据库编写的查询的过程中,我遇到了大量的“显示格式”,即存在的嵌入式 VBA/SQL 仅用于准备将结果直接显示在表单上或报告。从纯粹的编程角度来看,这对我来说似乎是非常错误的,但我对 SQL 不够熟悉,不知道这是否可以接受。
这是我现在在屏幕上打开的查询的示例...
Left(Salespersons.Salesperson,1) & ". " & imTextAfterSpace(Salespersons.Salesperson)
这是取一个全名并将其转换为:'Joe Smith' ==> 'J.史密斯'
例如,在 C# 应用程序中,编写这样的代码是不好的做法:
var theTime = DateTime.Now.ToString()
...稍后
someLabel.Text = theTime;
因为原始对象类型(在这种情况下为DateTime)的丰富性/语义一旦变成字符串就会丢失。
【问题讨论】:
-
这个问题没有一个非常客观和完整的答案。
-
嗯,这看起来像 VBA,而不是 SQL。这将使这是一个非常不同的问题。
-
它被标记为两者是因为在 MS Access 中,人们在 SQL 查询的中间编写 VBA。