繁体   English   中英

如何在Oracle PL SQL中添加空格

[英]How to add blank space in oracle pl sql

 SELECT lpad(nvl(substr(to_char(nvl(edt.leave,'''')),1,10),'''') || nvl(decode(leave_time,null,'''',
 decode(edt.leave_time,''P'',''-PM'',''-AM'')),''''),10,'' '') LeaveType,
 CASE WHEN substr(to_char(rh.holiday_date,''dd/MM/yyyy''),1,10) IS NOT NULL THEN
      substr(to_char(rh.holiday_date,''dd/MM/yyyy''),1,10)
      ELSE
      ''          ''
      END HolidayDate, FROM TABLE

我的程序包中有一部分代码,可以由水晶报表访问...每当我导出数据时,当记录没有holiday_Date时,它都不会给我ELSE上的10个空格(用单引号引起来)。我做错了吗?

使用rpad()函数

rpad(' ',9)

http://www.techonthenet.com/oracle/functions/rpad.php

如果您使用的是水晶报表,请不要处理查询中的所有内容,而请尝试以下操作:

像这样更改查询...,而不是查询日期中的case语句在查询中使用date列并在Crystal报表中进行操作。

 SELECT lpad(nvl(substr(to_char(nvl(edt.leave,'''')),1,10),'''') || nvl(decode(leave_time,null,'''',
 decode(edt.leave_time,''P'',''-PM'',''-AM'')),''''),10,'' '') LeaveType,
 rh.holiday_date FROM TABLE

现在,在水晶报表中,使用公式@Date并编写以下代码:

if IsNull(Cdate(rh.holiday_date))
then "          " //Adding 10 spaces
else Cdate(rh.holiday_date)

现在运行并导出报告

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM