我想实现,当col非空时,显示col的值,如果为空,则显示1
select nvl(select col from table where ...... , 1) from table
为什么查询时报错
select nvl((select col from table where ...... ) , 1) from table
里边那个sql套个括号吧。
SELECT NVL(COL,'1') FROM ......
-----------
或者用case
select case when col is null then '1' else col end from ..........
你查询的是不是是多个数据,正常子查询一个数据不会的