Si en una instrucción SELECT selecciono una cadena concatenada que usa los valores de las tablas de las que estoy seleccionando, ¿cuál es la mejor manera de manejar NULLs? para esos valores para que yo todavía tenga mi cadena? Al igual que en, si estoy seleccionando la ciudad, estado y país para un usuario, y quiero un tercer campo que los concatena todo:T-SQL: la mejor manera de manejar valores NULL en la concatenación de cadenas
SELECT City, State, Country,
City + ', ' + State + ', ' + Country AS 'Location'
FROM Users
Sin embargo, 'Localización' es nulo si cualquiera de los tres campos es NULL (que sucede siempre que el usuario no sea de los EE. UU.).
Mi solución actual es la siguiente:
SELECT City, State, Country,
City + ', ' + COALESCE(State + ', ', '') + Country AS 'Location'
FROM Users
Pero no estaba seguro de si esto era sólo un truco y si hay una mejor manera de hacerlo. ¿Pensamientos?
'coalesce' es una práctica estándar para esto. En tu caso, solo necesitarías 'isnull'. posible duplicado de [SQL Server String Concatenation with Null] (http://stackoverflow.com/questions/2916791/sql-server-string-concatenation-with-null) btw – bzlm
@bzlm ¡Vaya! Tienes razón. No estoy seguro de por qué no apareció cuando busqué o ingresé el título. Quizás porque puse específicamente "t-sql". Votando para cerrar. Siempre es un poco extraño votar para cerrar tu propia pregunta. Hace cosquillas. – JoeCool
@bzlm La respuesta sobre la pregunta "duplicada" no me entusiasma. No aborda los delimitadores entre las columnas. – RichardTheKiwi