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
-无需将它们放在引号中!请不要使用所有的大写字母