在什么情况下,在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
)的丰富度/语义在您将其转换为字符串后就会丢失。
答案 0 :(得分:1)
当你说这是一个坏主意时,你会纠正它 - 它只会使SQL代码库难以维护而且很容易出错。
在理想的世界中,任何格式化都会发生在应用程序的中间层或ui层。
什么时候合适?这绝不是一个绝对的清单,但我可以很快想到的几个案例是: