-4
如果整个结果集有效,我希望将有效列值分配给变量。因此如果列值有效(非空且不为空),则需要编写用于检查整个结果集的SQL查询,然后将第一列值分配给该变量,否则检查具有相同条件并分配给变量的第二列。用于比较所有匹配记录的SQL查询
例如:如果我的表有100个记录列FirstName,我需要检查是否所有的记录是有效的(非空或不空)记录假设第99条记录是空的,那么我需要检查姓氏列并分配它到一个变量。
在此先感谢。
如果整个结果集有效,我希望将有效列值分配给变量。因此如果列值有效(非空且不为空),则需要编写用于检查整个结果集的SQL查询,然后将第一列值分配给该变量,否则检查具有相同条件并分配给变量的第二列。用于比较所有匹配记录的SQL查询
例如:如果我的表有100个记录列FirstName,我需要检查是否所有的记录是有效的(非空或不空)记录假设第99条记录是空的,那么我需要检查姓氏列并分配它到一个变量。
在此先感谢。
您可以使用CASE
:
SELECT
CASE
WHEN FirstName IS NULL OR FirstName = '' THEN ISNULL(LastName, '')
ELSE FirstName END
FROM
Tbl
可以使用。如果存在,以确定是否列是有效的:
if not exists (select 1 from table where col1 is null)
begin
select top(1) col1 from table
end
添加一些样本表数据和预期的结果(以及格式化文本)同时向我们展示您当前的查询尝试。 – jarlh