SQL Query用于连接字符串或添加默认值

时间:2010-02-21 09:23:42

标签: sql string concatenation

我必须创建一个View,它显示通过连接其他一些字段创建的字段。我使用的简单查询就是这个:

SELECT     
    CODPROY, DESCPROY, USER, CODPROY + ' - ' + USER + ' - ' + DESCPROY AS Expr
FROM    
    dbo.PROY

问题是USER可能为NULL,在这种情况下我必须插入一个默认文本,例如'NOT AVAILABLE'。这可以在一个视图中完成吗?

2 个答案:

答案 0 :(得分:3)

如果您使用的是SQL Server,请使用coalesce

SELECT 
  CODPROY, 
  DESCPROY, 
  USER, 
  CODPROY + ' - ' + COALESCE(USER,'NOT AVAILABLE') + ' - ' + DESCPROY AS Expr 
FROM dbo.PROY

答案 1 :(得分:1)

是的,可以做到。您需要使用IFNULL(mySQL)或类似的东西..

CREATE VIEW foobar as 
SELECT CODPROY
      , DESCPROY
      , USER
      , CODPROY + ' - ' + IFNULL(USER,'DEFAULT') + ' - ' + DESCPROY AS Expr 
 FROM dbo.PROY;