SQL-запрос для объединения строк или добавления значения по умолчанию - PullRequest
1 голос
/ 21 февраля 2010

Мне нужно создать представление, которое показывает поле, созданное путем объединения некоторых других полей. Вот простой запрос, который я использую:

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

Проблема в том, что USER может иметь значение NULL, и в этом случае мне нужно вставить текст по умолчанию, что-то вроде «НЕДОСТУПНО». Можно ли это сделать в виде?

Ответы [ 2 ]

3 голосов
/ 21 февраля 2010

Используйте coalesce , если вы используете SQL Server

SELECT 
  CODPROY, 
  DESCPROY, 
  USER, 
  CODPROY + ' - ' + COALESCE(USER,'NOT AVAILABLE') + ' - ' + DESCPROY AS Expr 
FROM dbo.PROY
1 голос
/ 21 февраля 2010

Да, это можно сделать. Вам нужно использовать IFNULL (mySQL) или что-то подобное ..

CREATE VIEW foobar as 
SELECT CODPROY
      , DESCPROY
      , USER
      , CODPROY + ' - ' + IFNULL(USER,'DEFAULT') + ' - ' + DESCPROY AS Expr 
 FROM dbo.PROY;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...