簡體   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