如何在 SQL 服务器中将空字符串 (' ') 插入到十进制或数字中?
How to insert empty string (' ') to decimal or numeric in SQL Server?
有没有办法将空字符串 (' ') 插入 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')
我收到一个错误
Error converting data type varchar to numeric.
我的数据来自 Excel 文件并且有一些空白单元格。
我的查询将其读取为空字符串。
如果有办法,请帮忙
谢谢
您不能将空 字符串 插入数字字段。您可以插入 NULL
:
insert into #temp_table (id, model, Plandate, plan_qty, Remark)
values ('112325', '10TPB220MC', '2017-04-01', NULL, 'Fresh And Manual');
当然默认默认值是NULL
,所以你也可以不写:
insert into #temp_table (id, model, Plandate, Remark)
values ('112325', '10TPB220MC', '2017-04-01', 'Fresh And Manual');
根据您的评论,您只需要从 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 ...
有没有办法将空字符串 (' ') 插入 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')
我收到一个错误
Error converting data type varchar to numeric.
我的数据来自 Excel 文件并且有一些空白单元格。
我的查询将其读取为空字符串。
如果有办法,请帮忙
谢谢
您不能将空 字符串 插入数字字段。您可以插入 NULL
:
insert into #temp_table (id, model, Plandate, plan_qty, Remark)
values ('112325', '10TPB220MC', '2017-04-01', NULL, 'Fresh And Manual');
当然默认默认值是NULL
,所以你也可以不写:
insert into #temp_table (id, model, Plandate, Remark)
values ('112325', '10TPB220MC', '2017-04-01', 'Fresh And Manual');
根据您的评论,您只需要从 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 ...