求助oracle nvl函数的使用方法
有表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))