批量插入问题与Excel中的日期从SQL到Excel表

问题描述:

我想将这两列从Excel中批量插入临时表## NBP_Table。但是,当我这样做时,我得到以下错误:批量插入问题与Excel中的日期从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

你可以施放日期CAST('01/04/2014' AS DATETIME) –

+1

'NUMERIC(4,4)'是指:**总共4 **个数字,** ** **数字* *小数点后面 - 所以你只能在这一列中存储从'.0000'到'.9999'的值 - 是*真正*你想要什么? ?如果您希望前4位数和小数点后4位数,则需要使用'NUMERIC(8,4)'而不是 –

+0

是的,您需要输入日期。 –

来获得日期插入工作,请试试这个

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

第一个数字可以像构成整个数字的总数字一样查看,第二个数字可以看作小数点。所以你总共有5位数字,其中4位是小数点后的 – martpendle

表达式中的这个日期被认为是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