Sql server 2005 如何在一个字符串中粘合3行?

Sql server 2005 如何在一个字符串中粘合3行?,sql-server-2005,Sql Server 2005,在表pics中,我有3个不同的行,其中存储了姓氏、姓名和中间名。 在查询中,我需要将它们粘合到一个字符串: pics.e_family + ' ' + pics.e_name + ' ' + pics.e_sname AS fio 这一切都很完美,但有一个条目根本没有中间名(没错,确实如此)。在fio中我得到空值。是否有可能修改代码,或对一行或多行是否为空进行额外检查,将其替换为空格符号或仅显示保留的行?如果您指的是列而不是行,则可以使用合并或ISNULL: pics.e_family + '

在表pics中,我有3个不同的行,其中存储了姓氏、姓名和中间名。 在查询中,我需要将它们粘合到一个字符串:

pics.e_family + ' ' + pics.e_name + ' ' + pics.e_sname AS fio

这一切都很完美,但有一个条目根本没有中间名(没错,确实如此)。在fio中我得到空值。是否有可能修改代码,或对一行或多行是否为空进行额外检查,将其替换为空格符号或仅显示保留的行?

如果您指的是列而不是行,则可以使用
合并
ISNULL

pics.e_family + ' ' + COALESCE(pics.e_name, '') + ' ' + pics.e_sname AS fio

@罗布尼克:现在你编辑的评论看起来好像是指我的答案;)不,不,你的回答太棒了!如果e_name为空,则会在名字和姓氏之间产生额外的空格,但我太累了,无法更正。您的问题不清楚。你是指标题和第一句话中的列而不是行吗?另外,“或仅显示保留行”是什么意思?