Sql server I';我试图在SQL中运行一个查询,我想知道为什么ADDRESS\u LINE\u 2超过ADDRESS\u LINE\u 1并显示空值
如果将字符串与空值串联,则结果为空 使用Sql server I';我试图在SQL中运行一个查询,我想知道为什么ADDRESS\u LINE\u 2超过ADDRESS\u LINE\u 1并显示空值,sql-server,Sql Server,如果将字符串与空值串联,则结果为空 使用coalesce或isnull确保没有空值: SELECT EMPLOYEE.EMPLOYEE_FNAME + EMPLOYEE.EMPLOYEE_LNAME + EMPLOYEE.EMPLOYEE_PRIMARY_NUMBER + EMPLOYEE.EMPLOYEE_EMAIL AS EMPLOYEE, ADDRESS.ADDRESS_LINE_1 + ADDRESS.ADDRESS_LINE_2 + ADD
coalesce
或isnull
确保没有空值:
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
如果将字符串与空值串联,则结果为空 使用
coalesce
或isnull
确保没有空值:
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
您需要确保没有数据是空的
ADDRESS.ADDRESS_LINE_1 + COALESCE(ADDRESS.ADDRESS_LINE_2, '')
您需要确保没有数据是空的
ADDRESS.ADDRESS_LINE_1 + COALESCE(ADDRESS.ADDRESS_LINE_2, '')
您可以使用以下命令覆盖空连接的默认选项:
isnull(ADDRESS.ADDRESS_LINE_1, '')
+ isnull(....
您可以使用以下命令覆盖空连接的默认选项:
isnull(ADDRESS.ADDRESS_LINE_1, '')
+ isnull(....
如果地址\行\ 1为空怎么办?应该是ISNULL(ADDRESS_LINE_1“”)@roman M:是的,您可以在任何可能为null的字段上使用它。如果ADDRESS_LINE_1为null怎么办?应该是ISNULL(ADDRESS_LINE_1')@roman M:是的,你会在任何可能为null的字段上使用它。这是一个非常糟糕的主意!此功能将从SQL Server的未来版本中删除这是一个非常糟糕的主意!此功能将从SQL Server的未来版本中删除