我试图通过选择像这样的值来创建一个固定宽度的文件:NVL,SUBSTR和RPAD语法
SELECT distinct SubStr(RPad(InitCap(p.namelast),50,' '),1,50)
|| SubStr(RPad(InitCap(p.namefirst),50,' '),1,50)
|| SubStr(RPad(p.house ||' ' || p.street || ' ' ||p.streettype,50,' '),1,50)
||' '
||SubStr(RPad(InitCap(p.city),35,' '),1,35)
||NVL(SubStr(RPad(p.province,2,'0'),1,2),' ')
||NVL(SubStr(RPad(p.postal,5,'0'),1,5),' ')
上述工作正常。但是,我还需要考虑地址将在我上面的字段(p.house,p.street,p.streettype ...)中解析或者在ADDRESS1和ADDRESS2中找到的事实。 ADDRESS 2然而包含城市状态和zip,并且需要被解析。
我可以通过使用NVL来实现吗?我觉得如果我使用一个NVL和SUBSTR我需要的值,它可以工作。但我不确定语法。在ADDRESS1和ADDRESS2
数据分别如下:
123 boom drive|MONTGOMERY AL 45777