【发布时间】:2019-01-17 13:01:49
【问题描述】:
我正在尝试 CONCAT 两列,并且还使用 CAST 和 COLLATE,但是当我尝试以我认为可行的方式修复它们时,不断收到许多不同的错误。
基本上我试图将两列连接在一起,但我遇到了排序规则冲突。然后,我尝试整理这两列,然后我得到一个数据类型对 COLLATE 错误无效。在此之后,我尝试 CAST 列给我将其更改为 varchar 的错误,但它不起作用。我只是不确定如何使所有 3 个一起工作。
SELECT TransactionHeader.TransactionType,
TransactionHeader.TicketStub,
CAST ( TransactionHeader.TransactionNumber AS nvarchar(8)) AS [TN],
TransactionHeader.ActualAmount,
Currencies.SwiftCode,
TransactionHeader.CurrencyID,
Divisions.ShortName,
DealHeader.StartDateNumber,
DealHeader.EndDateNumber,
CONCAT (TransactionHeader.TicketStub,
TransactionHeader.TransactionNumber) AS [DealRef]
FROM Company.dbo.TransactionHeader TransactionHeader
LEFT OUTER JOIN Company.dbo.DealHeader DealHeader
ON TransactionHeader.THDealID=DealHeader.DHDealID
LEFT OUTER JOIN Company.dbo.Currencies Currencies
ON TransactionHeader.CurrencyID=Currencies.CRRecordID
LEFT OUTER JOIN Company.dbo.Divisions Divisions
ON TransactionHeader.PrimaryPartyID=Divisions.DVRecordID
WHERE TransactionHeader.TicketStub COLLATE DATABASE_DEFAULT
= TransactionHeader.TransactionNumber COLLATE DATABASE_DEFAULT
总而言之,我只想 CONCAT TicketStub 和 TransactionNumber 列,但我不确定如何克服遇到的错误。就整理而言,我仍然有点不确定它是如何工作的,我只知道要修复我需要做的整理错误。我对 T-SQL 非常陌生,并且在过去的一个半月里才开始编写它,所以请,任何建议都会非常有帮助。谢谢!
【问题讨论】:
标签: sql-server tsql sql-server-2012