欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle数据库提高查询结果可读性的实现

程序员文章站 2024-01-24 22:03:10
...

总之,笔者认为现在数据内容显示格式越来越重要。有时候,甚至会影响用户对于软件的选择。所以,作为一个称职的数据库管理员,除

  在Oracle数据库中,有很多格式化工具,可以提高结果的可读性。对我们的数据库设计与软件开发,具有画龙点睛的作用。

  如下图,是员工薪资管理模块中的一个员工薪资表。这个表在外行人眼里看起来已经比较完美了。但是,其仍然有不少可以完善的地方。

  

Oracle数据库提高查询结果可读性的实现

  一、 在货币前面加入本地货币符号。

  货币字段在系统中,是一个比较复杂的字段。特别是在一些涉及到多货币的管理系统中,有时候两个字段数字虽然相同,但是,其实际表示的金额却不一致。因为两者对应的货币符号不同。所以,有时候,我们希望在货币字段之前,显示本地的货币符号。这可以让用户直观的了解,这个是以本位币表示的货币金额。

  

  如上图,我们希望在货币之前能够显示货币符号。这比上面那个结果,显然可读性更好。其实,要实现这个目的,也是很简单的。在Oracle数据库中,提供了Format命令,可以格式化查询结果。如要实现上面的结果,,则可以利用这个命令来完成。

  COLUMN HEADING FORMAT L9999.99;

  Column是Oracle数据库提供的一个命令。结合Format参数,可以用来格式化查询结果。在L9999.99,这个参数中,L表示在数值型字段前显示本地货币符号。这里的本地货币符号是指在Oracle数据库环境中设置的本地货币符号,而跟前台应用程序无关。在前台程序开发的时候,要注意跟Oracle数据库同步。如用户在前台应用软件中,设置的本位币是人民币的话,则前台程序要能够重新设置Oracle数据库的本地货币。如此的话,利用L参数才可以显示正确的结果。

  参数9表示在数值型字段上禁止显示前导0。此外,他还有一个额外的功能,就是表示精度。如上面的例子中,小数点后面加入两个9,就表示保留两位小数。即使没有小数的话,也要用0来补充。这也是我们在格式化查询结果的时候,常用的一个手段。

  不过在利用9来限制数字精度时,要注意一个问题,就是其位数一定要够。如果某个字段,其实际值为350000,而我们提供的参数为L9999.99的话。则最后将无法显示正确的结果。如可能会利用######来代替最终的结果。这是在数据库设计的时候,需要注意的问题。

  二、跟Format有关的其他格式控制。

  Format还提供了其他一些有用的参数。

  如$参数。若把COLUMN HEADING FORMAT L9999.99这个命令稍微改一下。该为COLUMN HEADING FORMAT $9999.99这个的话,那么会有什么结果?此时,无论Oracle数据库的本地货币符号是什么,在现实的结果中,都是以$开头的货币。也就是说,这个参数的含义就是在数值型字段前面显示美元符号。这跟Oracle数据库的环境变量无关。

  

  如上图中,在Oracle数据库中,对于数字型的数据类型,默认情况下其不会用千位分隔符进行区分。而在软件设计中,特别是财务部门的管理软件,往往需要利用千位分隔符来进行划分。如此,用户读起来会更加的方便。为此,在Oracle数据库中,提供了一个“,”参数(注意是英文状态下的逗号)。这个参数指定在数字型的数据中加入千位分隔符。

Oracle数据库提高查询结果可读性的实现