2016-09-06 6 views
0

これらの2つのカラムをExcelのtempテーブル## NBP_Tableに一括して挿入しようとしています。しかし、私はそれを行うと、次のエラーが表示されます。日付付きのバルク挿入問題がSQLテーブルにExcelから

'Operand type clash: int is incompatible with date'

これは、日付がテーブルに挿入する必要がある形式ではないことを意味しますか?

create table ##NBP_Table 
(
Applicable_Date date, 
NBP_Value numeric(4,4) 
) 

insert into ##NBP_Table 
values (01/04/2014,1.7107), 
(02/04/2014,1.6482), 
(03/04/2014,1.686), 
(04/04/2014,1.6681) 
+1

あなたは('01/04/2014' CASTとして日付をキャストすることができますDATETIME AS) –

+1

'NUMERIC(4,4)'を意味します**小数点以下4桁*小数点以下4桁**この列には '.0000'から' .9999'までの値しか格納できません - あなたが望むのは本当ですか? ?小数点の前に4桁と4桁が必要な場合は、代わりに 'NUMERIC(8,4)'を使用する必要があります。 –

+0

はい、キャストする必要があります。 –

答えて

5

日付挿入作業を取得するには、この

create table ##NBP_Table 
(
Applicable_Date date 
NBP_Value numeric(5,4) 
) 

insert into ##NBP_Table 
values ('01/04/2014',1.7107) 

を試してみてください日付は引用符

にする必要があります私はあなた

+0

数字は小数より大きくなければなりませんか?もしそうなら、これの背後にある理由は何ですか? – abs786123

+0

最初の数字は数字全体を構成する数字のように見え、2番目の数字は小数点として見ることができます。したがって、合計で5桁ありますが、そのうちの4桁は小数点以下です。 – martpendle

4

のための数値データ型をも修正していますこの式の日付はintと見なされますので、実行/操作 となりますので、終了日の後に「開始日前」を使用してください。 '01 -04-2014'

Create table #NBP_Table 
 
(
 
Applicable_Date date, 
 
NBP_Value numeric(5,4) 
 
) 
 

 
insert into #NBP_Table 
 
values ('01-04-2014',1.7107), 
 
('02-04-2014',1.6482), 
 
('03-04-2014',1.686), 
 
('04-04-2014',1.6681)

+0

'算術オーバーフローエラーが数値をデータ型数値に変換しています。'私はそれを実行したとき、理由は何ですか? – abs786123

+0

はい、私はこれを私の答えで訂正しました。渡すデータに数値(5,4)を使用する必要があります – martpendle

+0

小数点精度が実際の数値よりも小さくなければならない数値または浮動小数点型に適用されますかその前に? – abs786123