如何在SQL Server中将空字符串('')插入十进制或数字?

时间:2017-08-11 02:02:31

标签: sql sql-server string decimal numeric

有没有办法将空字符串('')插入decimal类型的列中?

这是示例:

create table #temp_table 
(
    id varchar(8) NULL,
    model varchar(20) NULL,
    Plandate date NULL,
    plan_qty decimal (18, 0) NULL,
    Remark varchar (50) NULL,
)

insert into #temp_table (id, model, Plandate, plan_qty, Remark)
values ('pn-01', 'model-01', '2017-04-01', '', 'Fresh And Manual')

我收到错误

  

将数据类型varchar转换为数字时出错。

我的数据来自Excel文件并且有一些空白单元格。

我的查询将其读作空字符串。

如果有办法,请帮助。

由于

1 个答案:

答案 0 :(得分:2)

基于您的评论,您只需要从excel插入一个case语句,我假设它使用的是打开查询或批量插入。

Insert into #temp_table (id, model, Plandate, plan_qty, Remark)
Select
...
Case when someColumn = '' then null else someColumn end
...
From
--your excel file via openquery or whatever ...