当其中一行为空时,如何将两行 nvarchar 行转换为一行
抱歉,如果这与现有问题之一重复(这很简单,但我无法弄清楚,我是新的)。
我需要将一些数据从一个表迁移到另一个表(不同的结构)。
表 A 具有名字和姓氏列。 名称列
表 B 有我想要做的
SELECT Firstname + ' ' + LastName As Name FROM TableA
,但问题是在表 B 中,某些行的名字或姓氏为空值,但不是两者都为空值(懒惰用户)。
当我将它们导入表 B 时,查询失败,因为名称列在我的新设计中不可为空,并且当我测试上面的语句时,如果名字或姓氏为空,则连接的值为空。
从我读过的内容来看,这是预期的行为,但我能做些什么来解决这个问题呢?
如果另一个为空,我想保存名字或姓氏。
sorry if this is a duplicate to one of existing questions (it's so simple but I can't figure it out, I'm new).
I need to migrate some data from one table to another (different structures).
Table A have Firstname and LastName columns.
Table B have Name column
I want to do
SELECT Firstname + ' ' + LastName As Name FROM TableA
But the problem is that in table B, some rows have null value for firstname or lastname but not both (Lazy user).
When I import them into table B, the query fails because Name column is non-nullable in my new design and when I test the statement above, if firstname or lastname is null, the concated value is null.
From the reading that I've done, this is expected behavior but what can I do to get around this?
I want to save firstname or lastname if the other is null.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这可以通过单个 colaesce (返回第一个非空) & 来完成。无需搞乱空格。
This can be done with a single colaesce (return first non-null) & no need to mess about with spaces.
使用合并或isnull
use coalesce or isnull