9

将两列连接在一起,只希望它们在列中一起显示,两个数字之间有一个空格。它不断地将两个数字相加。一个是 bigint,另一个是 smallint。最终会显示在 SSRS 报告中,但现在只是使用 SQL 查询数据

    (NBR +''+ ACCT_NBR) as acct,
4

7 回答 7

16

尽管您没有提到数据库,但请尝试

MySQL

concat(NBR,' ',ACCT_NBR) as acct

SQL 服务器

CAST(NBR AS VARCHAR)+' '+CAST(ACCT_NBR AS VARCHAR) as acct
于 2012-10-05T18:47:02.760 回答
5

您没有提及您使用的是哪种 SQL,但根据情况,您可能需要先将值转换为字符串。对于 SQL 服务器...

(Cast(NBR as varchar(20)) + ' ' + Cast(ACCT_NBR as varchar(20))) as acct,
于 2012-10-05T18:51:33.203 回答
2

我知道这篇文章已经回答并且是正确的。但是想发布以下答案,因为从 SQL Server 2017 开始,这太容易了,将来有人可能会觉得这很有帮助。

CONCAT_WS(CHAR(10),Cast(NBR as varchar(20)) ,Cast(ACCT_NBR as varchar(20))) as acct

CHAR(10) 可以用于 SQL SERVER 中的空间。您可以将 CHAR(10) 替换为您喜欢的任何分隔符。例如,

CONCAT_WS(',',Cast(NBR as varchar(20)) ,Cast(ACCT_NBR as varchar(20))) as acct

上面的查询将在要连接的每个字符串之间添加分隔符“,”。

于 2017-12-08T17:03:13.957 回答
0

如果它是 Oracle 数据库,请尝试

NBR || ' ' || ACCT_NBR as acct
于 2015-02-04T18:10:59.057 回答
0
Stuff(Coalesce(', ' + [Address1], '') + Coalesce(', ' + [Address2], '') + Coalesce(', ' + [City], '') + Coalesce(', ' + [State], '') + Coalesce(', ' + [Country], '') +Coalesce('-' + [Zip], ''), 1, 1, '') AS [Address] FROM Customers
于 2017-11-22T09:27:37.603 回答
0

我知道我迟到了 7 年,但我觉得我应该试一试。

(NBR +space(5) + ACCT_NBR) as acct

这将在 2 个连接项之间添加 5 个空格。我如何测试的示例如下:

select
+ N'(Contactname: '+ contactname + space(5)  + N'(Company_Name: ' + companyname + N')' + N'(Contact_Title: ' + contacttitle + N')'
from Sales.Customers
于 2020-01-06T03:40:45.137 回答
-3

在 Teradata SQL 中,您可以使用以下内容。它总是会拉到最后 3 天。

WHERE create_ts BETWEEN  (DATE -3 || ' ' || '00:00:00') AND (DATE -1 || ' ' || '23:59:59')
于 2016-04-14T23:27:38.320 回答