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

本文关键字:查询 显示 SQL 格式化数据 | 更新日期: 2023-09-27 18:04:44

在什么情况下适合在SQL查询或视图中对值进行表示格式设置,以便这些值可以直接在应用程序中显示给用户?

背景:在转换在遗留的Microsoft Access数据库中编写的一些查询的过程中,我遇到了大量的"显示格式",即嵌入式VBA/SQL,其存在只是为了准备直接显示在表单或报告上的结果。从纯粹的编程角度来看,这对我来说似乎是非常错误的,但我对SQL不够熟悉,不知道这是否可以接受。

下面是我现在在屏幕上打开的查询示例…

Left(Salespersons.Salesperson,1) & ". " & imTextAfterSpace(Salespersons.Salesperson)

这是一个全称,并将其转换为:'Joe Smith' ==> 'J. Smith'

例如,在c#应用程序中,像这样编写代码是很糟糕的做法:
var theTime = DateTime.Now.ToString()

…后来

someLabel.Text = theTime;

因为原始对象类型(在这种情况下是DateTime)的丰富度/语义一旦转换为字符串就会丢失

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

当你说这是一个坏主意时,你是对的-它只会使SQL代码库非常难以维护并且容易出现错误。

在理想情况下,任何格式化都应该发生在应用程序的中间层或ui层。

什么时候合适?这绝不是一个绝对的列表,但我能很快想到的几个例子是:

  • -当你无法控制UI层时。
  • —当您必须与遗留应用程序集成时