/ / Estoy intentando ejecutar una consulta en SQL y quiero saber por qué ADDRESS_LINE_2 está sobre ADDRESS_LINE_1 y muestra null - sql-server

Estoy intentando ejecutar una consulta en SQL y quiero saber por qué ADDRESS_LINE_2 ha terminado de tomar ADDRESS_LINE_1 y mostrar null - sql-server

SELECT
EMPLOYEE.EMPLOYEE_FNAME + EMPLOYEE.EMPLOYEE_LNAME +
EMPLOYEE.EMPLOYEE_PRIMARY_NUMBER + EMPLOYEE.EMPLOYEE_EMAIL AS EMPLOYEE,
ADDRESS.ADDRESS_LINE_1 + ADDRESS.ADDRESS_LINE_2 + ADDRESS.CITY_PROVINCE +
ADDRESS.STATE_ABBREVIATION + ADDRESS.POSTAL_CODE AS ADDRESS
FROM
EMPLOYEE
INNER JOIN
ADDRESS ON EMPLOYEE.ADDRESS_ID = ADDRESS.ADDRESS_ID

Respuestas

1 para la respuesta № 1

Debes asegurarte de que ningún dato sea nulo

isnull(ADDRESS.ADDRESS_LINE_1, "")
+ isnull(....

0 para la respuesta № 2

Si concatena una cadena y un valor nulo, el resultado es nulo.

Utilizar coalesce o isnull para asegurarse de que no tiene un valor nulo:

ADDRESS.ADDRESS_LINE_1 + COALESCE(ADDRESS.ADDRESS_LINE_2, "")

0 para la respuesta № 3

Puede anular las opciones predeterminadas para concatenación nula con esto:

SET CONCAT_NULL_YIELDS_NULL OFF