当前位置: 首页 > 面试题库 >

SQL Server:串联多个列的最佳方法?

顾嘉纳
2023-03-14
问题内容

我正在尝试在SQL Server 11.00.3393中的查询中连接多个列。

我尝试了新功能,CONCAT()但是当我使用两个以上的列时,它不起作用。

所以我想知道这是否是解决问题的最佳方法:

SELECT CONCAT(CONCAT(CONCAT(COLUMN1,COLUMN2),COLUMN3),COLUMN4) FROM myTable

COLUMN1 + COLUMN2由于NULL价值我不能使用。

编辑

如果我尝试SELECT CONCAT('1','2','3') AS RESULT我会得到一个错误

CONCAT函数需要2个参数


问题答案:

通过讨论,很明显,问题出在使用VS2010编写查询,因为它使用了CONCAT()受限于2个参数的规范函数。可能有一种方法可以更改它,但我不知道。

替代:

SELECT '1'+'2'+'3'

这种方法需要将非字符串值强制转换/转换为字符串,以及NULL通过ISNULL()或进行处理COALESCE()

SELECT  ISNULL(CAST(Col1 AS VARCHAR(50)),'')
      + COALESCE(CONVERT(VARCHAR(50),Col2),'')


 类似资料:
  • 问题内容: 我需要替换一些字符,如下所示:,… 我编码如下,但是我想应该有一些更好的方法。有什么提示吗? 问题答案: 替换两个字符 我给当前答案中的所有方法加上了一个额外的时间。 使用输入字符串并替换和,最快的方法是将替换链接在一起,如下所示:。 每个功能的时间: a)1000000次循环,每个循环最好为3:1.47 s b)1000000个循环,每个循环的最佳时间为3:1.51μs c)1000

  • 问题内容: 假设我有两个或两个以上相同长度的列表。遍历它们的好方法是什么? ,是列表。 要么 还是我缺少任何变体? 使用一个相对于另一个有什么特别的优势吗? 问题答案: 通常的方法是使用: 这将停止两个iterables时较短且耗尽。另外值得注意的是:(仅适用于Python 2)和(适用于Python 3)。

  • 问题内容: 串联String对象列表的最佳方法是什么?我正在考虑这样做: 我以某种方式发现这比使用StringBuilder / StringBuffer方法更整洁。 有什么想法/意见吗? 问题答案: 您的方法取决于Java的ArrayList#toString()实现。 尽管实现是用Java API记录的,并且不太可能更改,但仍有可能实现。自己实现这一点要可靠得多(循环,StringBuilde

  • 问题内容: 我的HTML如下: 而我的CSS: 但是,li之间出现了空白。我可以通过折叠它们来删除空格,如下所示: 但这主要是手工维护的,我想知道是否有一种更清洁的方法。 问题答案: 这里有几种选择,首先,我将为您提供创建内联列表时的常规做法: 然后,使CSS发挥预期作用的CSS: 显然,我省略了悬停和活动集,但这创建了一个不错的块级导航,这是在保持标准的同时执行此操作的非常常用的方法。/ 请记住

  • 问题内容: 我有一套清单: 我要s1∩s2∩s3 … 我可以编写一个函数来执行一系列成对的操作,等等。 有没有推荐,更好或内置的方法? 问题答案: 从python版本2.6开始,您可以对使用多个参数,例如 如果这些集合在列表中,则表示为: 这里是列表扩展 请注意,是 不是 一个静态的方法,但这种使用功能符号应用第一套交叉口列表的其余部分。因此,如果参数列表为空,则将失败。

  • 问题内容: 在我的办公室里,关于sql联接中联接列的顺序正在进行很大的讨论。我很难解释它,所以我只介绍两个sql语句。考虑到sql最佳实践,哪个更好? 或者 因此,在联接的ON部分中,是否编写是否重要? 问题答案: 此处的最佳实践是选择一个并 在团队中 坚持使用。就我个人而言,我更喜欢它,因为它对我来说似乎更干净。