T- SQL: лучший способ обрабатывать значения NULL при объединении строк

Если в операторе SELECT я ' m выбирая объединенную строку, которая использует значения из таблицы (таблиц), из которой я выбираю, как лучше всего обрабатывать NULL для этих значений, чтобы у меня все еще была моя строка? Например, если я выбираю город, штат и страну для пользователя, и мне нужно третье поле, которое объединяет их все:

SELECT City, State, Country,
City + ', ' + State + ', ' + Country AS 'Location'
FROM Users

Однако «Местоположение» равно NULL, если любое из трех полей имеет значение NULL (что равно происходит всякий раз, когда пользователь не из США).

Мое текущее решение таково:

SELECT City, State, Country,
City + ', ' + COALESCE(State + ', ', '') + Country AS 'Location'
FROM Users

Но я не был уверен, был ли это просто взлом и есть ли способ сделать это лучше. Мысли?

10
задан JoeCool 10 February 2011 в 18:09
поделиться