Используя nvarchar(Max)
и присоединитесь к запросу и выполните EXEC sp_executesql
во время этого процесса, он показывает приведенную выше ошибку ошибки, преобразуя тип данных nvarchar в bigint. в sql-сервере, без использования соединения и sp_executesql
он будет работать идеально. как я могу решить эту ошибку в sql.Показаны «ошибка преобразования типа данных nvarchar в bigint. в sql-сервере '
DECLARE
@mainSqlQuery nvarchar(max),
@GroupBySection nvarchar(max)
-- Insert statements for procedure here
SELECT @mainSqlQuery = N'--
SELECT
BRCH.BranchName [BranchName],
ASI.SubInventoryName [SubInventory],
APRO.ProductName [Product],
ASICT.TransactDateTime [DateTime],
ASICT.ProductStock [Stock],
ASICT.ProductStockInLocalCrrncy [Local Stock] INTO #MyTempTable
FROM ALX_SubInventoryCashTransfers ASICT
INNER JOIN
ALX_Branches BRCH ON BRCH.BranchID= ASICT.BranchID
INNER JOIN
ALX_SubInventories ASI ON ASI.SubInventoryID=ASICT.SubInventoryID
INNER JOIN
ALX_Products APRO ON APRO.ProductID= ASICT.ProductID
INNER JOIN
(SELECT
BranchID,
SubInventoryID,
ProductID,
MAX(TransactDateTime) AS MaxDate
FROM ALX_SubInventoryCashTransfers'
Select @GroupBySection = N'-- GROUP BY BranchID,
SubInventoryID,
ProductID) SubASICT
ON ASICT.BranchID = SubASICT.BranchID
AND ASICT.SubInventoryID = SubASICT.SubInventoryID
AND ASICT.ProductID = SubASICT.ProductID
AND ASICT.TransactDateTime = SubASICT.MaxDate'
Declare @Condition nvarchar(max)
if(@Date is null)
BEGIN
Select @Condition='WHERE
((ISNULL(ProductID,0)=''' [email protected]+') OR'[email protected]+'''=0)AND
((ISNULL(BranchID,0)=''' [email protected]+') OR '[email protected]+'''=0) '
Declare @Query nvarchar(max);Select @[email protected][email protected][email protected]
EXEC sp_executesql @Query;
END
IF(@Date is not null)
BEGIN
Select @Condition='WHERE
CONVERT(DATETIME,FCSB.FCBuySellDate,105)=''' [email protected]+''' AND
((ISNULL(ProductID,0)=''' [email protected]+') OR'[email protected]+'''=0)AND
((ISNULL(BranchID,0)=''' [email protected]+') OR '[email protected]+'''=0) '
Declare @Query1 nvarchar(max);Select @[email protected][email protected][email protected];
EXEC sp_executesql @Query1;
END
* Примечание: -в этом мне нужно условие для работы в ИНЕКЕ, (дата является основной проблемой, если дата является пустой я не нужна, чтобы отобразить все детали, но в этом, когда я поставил нуль в дате нет данные будут поступать, поэтому я предпочитаю этот метод, но я знаю, что это худший метод, но условие необходимость даты, чтобы отобразить, как это любое другое мнение, чтобы преодолеть дату в где положении
@owcZark это @product ID (bigint) @ProductID (bigint), @BranchID (bigint) и @Date (DateTime), –