2016-11-20 55 views
1

我试图将这些值放在一列中,但有时候'县'没有任何价值。我怎么能这样做,它不显示为Name_of_town,邮政编码?如何在查询中省略空值?

SQL> select SuppName || ', ' || Street || ', ' || Town || ', ' || County || ', ' || PostCode AS "Supplier Address" 
2 from Suppliers 
3 ORDER BY 1; 

这是我目前从查询中取回的内容。 (','的例子本身就是第一个查询结果)

Supplier Address 
-------------------------------------------------------------------------------- 
Business Systems Ltd., 155 Stradleigh Place, London, , E10 6LL 
Fastorder Stationers, Riverside View, Newport, Gwent, NP1 7XJ 
I.T. Supplies (Wales), 3 Marlborough Ave., Cardiff, , CF1 1IT 
Legal Services Ltd., Westway Road, London, , N8 8PA 
Office Matters, 20 Berrick Street, Bridgend, Mid Glam., CF38 3BB 
TKG Tools Ltd., 7 High Street, Swansea, , SA7 2WG 

回答

0

看起来好像是Oracle的NVL是要走的路。它会用您选择的字符串替换空值。我假设当你说县没有价值时,该字段包含null。 Otherwice oracle REPLACE会工作。

NVL

试试这个:

select SuppName || ', ' || Street || ', ' || Town || ', ' || NVL(County, 'No_County') || ', ' || PostCode AS "Supplier Address" 
from Suppliers 
ORDER BY 1;