Sql server 插入时如何转换

Sql server 插入时如何转换,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我想向数据库中插入一些数据,但出现错误 这是表模式 ID int IDENTITY PRIMARY KEY, NAME varchar(100) NULL, TYPEID int NULL, ISACTIVE bit NOT NULL, CREATEDDATE datetime NULL, CREATEDBY bigint NULL, MODIFIEDDATE datetime NULL, MODIFIEDBY bigint NULL 这是insert语句: INSERT INTO SIZE

我想向数据库中插入一些数据,但出现错误

这是表模式

ID int IDENTITY PRIMARY KEY,
NAME varchar(100) NULL,
TYPEID  int NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL
这是insert语句:

INSERT INTO SIZES 
VALUES     
   (CONVERT(VARCHAR(20), 'S001'), 'S', '1', '01/12/2013', '1', '01/12/2013', '1'),
   (CONVERT(VARCHAR (20), 'S002' ), 'M', '1', '01/12/2013', '1', '01/12/2013', '1'),
   (CONVERT(VARCHAR (20), 'S003' ), 'L', '1', '01/12/2013', '1', '01/12/2013', '1'),
   (CONVERT(VARCHAR (20), 'S004' ), 'XL', '1', '01/12/2013', '1', '01/12/2013', '1'),
   (CONVERT(VARCHAR (20), 'S005' ), '36', '1', '01/12/2013', '1', '01/12/2013', '1'),
   (CONVERT(VARCHAR (20), 'S006' ), '37', '1', '01/12/2013', '1', '01/12/2013', '1'),
   (CONVERT(VARCHAR (20), 'S007' ), '38', '1', '01/12/2013', '1', '01/12/2013', '1')
在查询遇到错误时:

Msg 245,第16级,状态1,第1行
将varchar值“S”转换为数据类型int时,转换失败


您正在尝试将VARCHAR'S'插入到TYPEID INT列中。使用以下格式并指定与值对应的列名:

INSERT INTO SIZES (NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY)
VALUES (CONVERT(VARCHAR(20),'S001'),'S','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S002' ),'M','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S003' ),'L','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S004' ),'XL','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S005' ),'36','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S006' ),'37','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S007' ),'38','1','01/12/2013','1','01/12/2013','1')

您正在尝试将VARCHAR'S'插入到TYPEID INT列中。使用以下格式并指定与值对应的列名:

INSERT INTO SIZES (NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY)
VALUES (CONVERT(VARCHAR(20),'S001'),'S','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S002' ),'M','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S003' ),'L','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S004' ),'XL','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S005' ),'36','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S006' ),'37','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S007' ),'38','1','01/12/2013','1','01/12/2013','1')

您正在尝试将VARCHAR'S'插入到TYPEID INT列中。使用以下格式并指定与值对应的列名:

INSERT INTO SIZES (NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY)
VALUES (CONVERT(VARCHAR(20),'S001'),'S','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S002' ),'M','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S003' ),'L','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S004' ),'XL','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S005' ),'36','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S006' ),'37','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S007' ),'38','1','01/12/2013','1','01/12/2013','1')

您正在尝试将VARCHAR'S'插入到TYPEID INT列中。使用以下格式并指定与值对应的列名:

INSERT INTO SIZES (NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY)
VALUES (CONVERT(VARCHAR(20),'S001'),'S','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S002' ),'M','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S003' ),'L','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S004' ),'XL','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S005' ),'36','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S006' ),'37','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S007' ),'38','1','01/12/2013','1','01/12/2013','1')

您已将Typeid声明为int,但正在尝试将S插入为varchar。。 因此,将
Typeid更改为Varchar

ID int IDENTITY PRIMARY KEY,
NAME varchar(100) Varchar,
TYPEID  Varchar(10) NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL

您已将Typeid声明为int,但正在尝试将S插入为varchar。。 因此,将
Typeid更改为Varchar

ID int IDENTITY PRIMARY KEY,
NAME varchar(100) Varchar,
TYPEID  Varchar(10) NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL

您已将Typeid声明为int,但正在尝试将S插入为varchar。。 因此,将
Typeid更改为Varchar

ID int IDENTITY PRIMARY KEY,
NAME varchar(100) Varchar,
TYPEID  Varchar(10) NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL

您已将Typeid声明为int,但正在尝试将S插入为varchar。。 因此,将
Typeid更改为Varchar

ID int IDENTITY PRIMARY KEY,
NAME varchar(100) Varchar,
TYPEID  Varchar(10) NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL

您必须指定要插入的字段:

INSERT INTO SIZES (NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY)
VALUES (.....)

您必须指定要插入的字段:

INSERT INTO SIZES (NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY)
VALUES (.....)

您必须指定要插入的字段:

INSERT INTO SIZES (NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY)
VALUES (.....)

您必须指定要插入的字段:

INSERT INTO SIZES (NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY)
VALUES (.....)

您的第二个声明类型是

TYPEID int NULL


所以在varchar或nvarchar中更改它以插入varchar值。

您的第二个声明类型是

TYPEID int NULL


所以在varchar或nvarchar中更改它以插入varchar值。

您的第二个声明类型是

TYPEID int NULL


所以在varchar或nvarchar中更改它以插入varchar值。

您的第二个声明类型是

TYPEID int NULL


因此,在varchar或nvarchar中将其更改为插入varchar值。

您正在尝试将varchar值插入int数据类型。因此,将数据库模式TYPEID(当前为
int
)更改为
nvarchar(20)
或任何您想要的大小都可以解决问题

表架构:

create table SIZES
(
ID int IDENTITY PRIMARY KEY,
NAME varchar(100) NULL,
TYPEID  nvarchar(20) NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL
)
INSERT INTO SIZES 
(NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY) VALUES 
(CONVERT(VARCHAR(20),'S001'),'S','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S002' ),'M','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S003' ),'L','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S004' ),'XL','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S005' ),'36','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S006' ),'37','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S007' ),'38','1','01/12/2013','1','01/12/2013','1')
插入语句:

create table SIZES
(
ID int IDENTITY PRIMARY KEY,
NAME varchar(100) NULL,
TYPEID  nvarchar(20) NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL
)
INSERT INTO SIZES 
(NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY) VALUES 
(CONVERT(VARCHAR(20),'S001'),'S','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S002' ),'M','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S003' ),'L','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S004' ),'XL','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S005' ),'36','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S006' ),'37','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S007' ),'38','1','01/12/2013','1','01/12/2013','1')

希望它能帮助你

您正在尝试将varchar值插入int数据类型。因此,将数据库模式TYPEID(当前为
int
)更改为
nvarchar(20)
或任何您想要的大小都可以解决问题

表架构:

create table SIZES
(
ID int IDENTITY PRIMARY KEY,
NAME varchar(100) NULL,
TYPEID  nvarchar(20) NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL
)
INSERT INTO SIZES 
(NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY) VALUES 
(CONVERT(VARCHAR(20),'S001'),'S','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S002' ),'M','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S003' ),'L','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S004' ),'XL','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S005' ),'36','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S006' ),'37','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S007' ),'38','1','01/12/2013','1','01/12/2013','1')
插入语句:

create table SIZES
(
ID int IDENTITY PRIMARY KEY,
NAME varchar(100) NULL,
TYPEID  nvarchar(20) NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL
)
INSERT INTO SIZES 
(NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY) VALUES 
(CONVERT(VARCHAR(20),'S001'),'S','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S002' ),'M','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S003' ),'L','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S004' ),'XL','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S005' ),'36','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S006' ),'37','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S007' ),'38','1','01/12/2013','1','01/12/2013','1')

希望它能帮助你

您正在尝试将varchar值插入int数据类型。因此,将数据库模式TYPEID(当前为
int
)更改为
nvarchar(20)
或任何您想要的大小都可以解决问题

表架构:

create table SIZES
(
ID int IDENTITY PRIMARY KEY,
NAME varchar(100) NULL,
TYPEID  nvarchar(20) NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL
)
INSERT INTO SIZES 
(NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY) VALUES 
(CONVERT(VARCHAR(20),'S001'),'S','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S002' ),'M','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S003' ),'L','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S004' ),'XL','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S005' ),'36','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S006' ),'37','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S007' ),'38','1','01/12/2013','1','01/12/2013','1')
插入语句:

create table SIZES
(
ID int IDENTITY PRIMARY KEY,
NAME varchar(100) NULL,
TYPEID  nvarchar(20) NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL
)
INSERT INTO SIZES 
(NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY) VALUES 
(CONVERT(VARCHAR(20),'S001'),'S','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S002' ),'M','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S003' ),'L','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S004' ),'XL','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S005' ),'36','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S006' ),'37','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S007' ),'38','1','01/12/2013','1','01/12/2013','1')

希望它能帮助你

您正在尝试将varchar值插入int数据类型。因此,将数据库模式TYPEID(当前为
int
)更改为
nvarchar(20)
或任何您想要的大小都可以解决问题

表架构:

create table SIZES
(
ID int IDENTITY PRIMARY KEY,
NAME varchar(100) NULL,
TYPEID  nvarchar(20) NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL
)
INSERT INTO SIZES 
(NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY) VALUES 
(CONVERT(VARCHAR(20),'S001'),'S','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S002' ),'M','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S003' ),'L','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S004' ),'XL','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S005' ),'36','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S006' ),'37','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S007' ),'38','1','01/12/2013','1','01/12/2013','1')
插入语句:

create table SIZES
(
ID int IDENTITY PRIMARY KEY,
NAME varchar(100) NULL,
TYPEID  nvarchar(20) NULL,
ISACTIVE bit NOT NULL,
CREATEDDATE datetime NULL,
CREATEDBY bigint NULL,
MODIFIEDDATE datetime NULL,
MODIFIEDBY bigint NULL
)
INSERT INTO SIZES 
(NAME, TYPEID, ISACTIVE, CREATEDDATE, CREATEDBY, MODIFIEDDATE, MODIFIEDBY) VALUES 
(CONVERT(VARCHAR(20),'S001'),'S','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S002' ),'M','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S003' ),'L','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S004' ),'XL','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S005' ),'36','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S006' ),'37','1','01/12/2013','1','01/12/2013','1'),
(CONVERT(VARCHAR (20),'S007' ),'38','1','01/12/2013','1','01/12/2013','1')

希望它能帮助你

请不要在标题中使用所有的大写字母。没有必要在这里大声提问。我们都能读得很好。它不会让你更快地得到答案,它更难阅读,而且对人们来说很烦人。请不要再那样做了。Shift键在键盘上(两次)是有原因的——正确的大小写文本更容易阅读和理解。请使用它。第一:为什么您认为您需要在
S001
上进行
转换??那已经是一个瓦查尔了!另外:如果在
INT
BIGINT
列中插入值,则应仅使用数字文字,如
1
——不要将其拼写为字符串(使用
'1'
)。对于
值也是如此-只需使用
0
1
-无需将它们放在引号中!请不要在标题中使用所有的大写字母。没有必要在这里大声提问。我们都能读得很好。它不会让你更快地得到答案,它更难阅读,而且对人们来说很烦人。请不要再那样做了。Shift键在键盘上(两次)是有原因的——正确的大小写文本更容易阅读和理解。请使用它。第一:为什么您认为您需要在
S001
上进行
转换??那已经是一个瓦查尔了!另外:如果在
INT
BIGINT
列中插入值,则应仅使用数字文字,如
1
——不要将其拼写为字符串(使用
'1'
)。对于
值也是如此-只需使用
0
1
-无需将它们放在引号中!请不要在标题中使用所有的大写字母。没有必要在这里大声提问。我们都能读得很好。它不会让你更快地得到答案,它更难阅读,而且对人们来说很烦人。请不要再那样做了。Shift键在键盘上(两次)是有原因的——正确的大小写文本更容易阅读和理解。请使用它。第一:为什么您认为您需要在
S001
上进行
转换??那已经是一个瓦查尔了!另外:如果在
INT
BIGINT
列中插入值,则应仅使用数字文字,如
1
——不要将其拼写为字符串(使用
'1'
)。对于
值也是如此-只需使用
0
1
-无需将它们放在引号中!请不要使用所有的大写字母