有表t
yhzh字段可能为空(null)
查询时,需要把空值(null)替换成20个空格
如何写
select nvl(yhzh,(' ',20)) from t
这样写不行
------解决方案--------------------
- SQL code
--换成tselect nvl(yhzh,substr(rpad('a',21,' '),2,20)) from t;
------解决方案--------------------
select nvl(yhzh,lpad(' ',20)) from dual;
------解决方案--------------------
这个涉及到lpad与rpad函数的使用
lpad :如 lpad(变量,10,' ')就是指变量的长度不够10的时候给变量前加空格,直到变量长度为10;
rpad: rpad(变量,10,' ')就是指变量的长度不够10的时候给变量后加空格,直到变量长度为10
楼主这个的写法:
select nvl(yhzh,rpad(' ',20,' ')) from t
------解决方案--------------------
- SQL code
SELECT NVL(YHZH,LPAD(' ',20)) FROM T
------解决方案--------------------
NVL(,LPAD('',20))