0
私の日付カラムをvarcharに変換し、intに変換したselect文がSSMSで動作していました。 SSISではエラーが発生し始めたので、selectステートメントでテーブル変数を使用してそこにデータを送信し、そのデータをSSISデータフローを使用してメインテーブルに挿入することにしました。オペランドタイプクラッシュ:intは日付と互換性がありません
私のselect文はエラーを与えている:
Msg 206, Level 16, State 2, Line 71
Operand type clash: int is incompatible with date
マイセレクト文は次のとおりです。
DECLARE @Order TABLE (
[OrderCode] [INT] NOT NULL,
[PersonCode] [BIGINT] NOT NULL,
[OrderDateTimeBase] [INT] NULL,
[OrderlineCreateDate] [INT] NOT NULL,
[OrderlineDateTimeBase] [INT] NULL,
[OrderlineDateBase] [DATE] NULL,
[BackOrderPromiseDate] [INT] NULL,
[CancelDate] [INT] NULL,
[DespatchedDate] [INT] NULL,
[ReturnDate] [INT] NULL,
[ExchangeDate] [INT] NULL
);
INSERT INTO @Order
SELECT
CAST(LEFT(o.[personCode]
, CHARINDEX('~', o.[personCode]) - 1) AS BIGINT) AS 'PersonCode'
, CONVERT(INT, CONVERT(VARCHAR(8), o.[OrderDatetimeBase], 112)) AS 'OrderDateTimeBase'
, CONVERT(INT, CONVERT(VARCHAR(8), ol.[OrderlineCreateDate], 112)) AS 'OrderlineCreateDate'
, CONVERT(INT, CONVERT(VARCHAR(8), ol.[OrderlinedatetimeBase], 112)) AS 'OrderlinedatetimeBase'
, CONVERT(INT, CONVERT(VARCHAR(8), ol.[OrderlineDateBase], 112)) AS 'OrderlineDateBase'
, CONVERT(INT, CONVERT(VARCHAR(8), ol.[BackOrderPromiseDate], 112)) AS 'BackOrderPromiseDate'
, CONVERT(INT, CONVERT(VARCHAR(8), ol.[CancelDate], 112)) AS 'CancelDate'
, CONVERT(INT, CONVERT(VARCHAR(8), ol.[DespatchedDate], 112)) AS 'DespatchedDate'
, CONVERT(INT, CONVERT(VARCHAR(8), ol.[ReturnDate], 112)) AS 'ReturnDate'
, CONVERT(INT, CONVERT(VARCHAR(8), ol.[ExchangeDate], 112)) AS 'ExchangeDate'
FROM dbo.A ol
INNER JOIN dbo.B o ON o.orderID = ol.orderID;
SELECT * FROM @Order
このSQL Serverはありますか?あなたはその質問にタグを付けることができますか? – trincot
それはsqlではありませんか?しかし、大丈夫、それについて申し訳ありません – Faiz
@ファイズ、SQLは、クエリ言語ではなく、製品です。 MS SQL Serverは、SQL言語をサポートする多くの製品の1つです。 – jarlh