格式化数据以在SQL查询中显示

时间:2014-05-22 17:02:08

标签: c# sql vba

在什么情况下,在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)的丰富度/语义在您将其转换为字符串后就会丢失。

1 个答案:

答案 0 :(得分:1)

当你说这是一个坏主意时,你会纠正它 - 它只会使SQL代码库难以维护而且很容易出错。

在理想的世界中,任何格式化都会发生在应用程序的中间层或ui层。

什么时候合适?这绝不是一个绝对的清单,但我可以很快想到的几个案例是:

  • - 当您无法控制UI图层时。
  • - 何时必须与旧版应用程序集成