在Oracle数据库中提高查询结果的可读性

发表于:2008-11-25 11:16

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Victor    来源:IT专家网

  在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数据库中,提供了一个“,”参数(注意是英文状态下的逗号)。这个参数指定在数字型的数据中加入千位分隔符。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号