SQL怎样把A表中的int字段插入到B表中的varchar型字段(不能更改原来A。B表中的字段原有属性)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL怎样把A表中的int字段插入到B表中的varchar型字段(不能更改原来A。B表中的字段原有属性)相关的知识,希望对你有一定的参考价值。
insert into A..TEST (NEID,NAME,ROOMID,CODE,NETYPE,ALIAS,APPLYFOR,NECATEGORY,PROJECT,NAMEINEMS,VENDOR,NMSNAME,INTER_NET_ADDR,CPSS,BUILDNO_OF_NODE,NO_OF_SHELVES,CAPACITY, INSPECTDATE,STARTWORKDATE,ENDWORKDATE) select NEID,NAME,ROOMID,CODE,NETYPE,ALIAS,APPLYFOR,NECATEGORY,PROJECT,NAMEINEMS,VENDOR,NMSNAME,INTER_NET_ADDR,CPSS,BUILDNO_OF_NODE,NO_OF_SHELVES,CAPACITY,INSPECTDATE,STARTWORKDATE,ENDWORKDATE from B..test2
请选出任意一个字段进行语句的添加。求高人指导
--要添加哪个字段就在哪个字段上加ltrim()即可,用rtrim()也可以追问
我需要的是转换类型的意思,例如本来int的类型,是无法插入到varchar的字段里面的,我需要一个语句在中间进行类型的转换,让他可以插入到另一个表。可能我提问的不清楚,很抱歉了
追答ltrim(整型字段) 这是一个去左空格的函数,用了它以后,也就同时把整型数据转成varchar类型了
参考技术B 把你想插入的字段转化一下类型就好,格式为cast(变量int,as varchar)追问insert into A..C(NEID,CPSS) select NEID,cast(CPSS as varchar) from B..D
NEID的字段是一样的类型.所以插入应该是没问题的。
我大概理解你的语句意思,那你看上面这样改完后,是不是,就可以把B数据库中的表D的CPSS转换成varchar类型插入到A数据库中的C表CPSS里面去了吧?
你可以试试,先执行一条数据。
追问试过了,不行的,一楼的也没成功。如果你们能把语句写出来我会更加感谢的- -因为新手对那些间隔符到底是直接空格还是用逗号什么的,都还不懂
追答insert into 表b(1 ,2 ,3 ))
select cast(1 as varchar),2,3 from 表a
试过以后还是不行,各种不行- -蛋疼
参考技术C insert into A..(NEID) select convert(varchar,NEID) from B追问insert into A..C(NEID,CPSS) select NEID,convert(varchar,CPSS) from B..D
看看这个有没有错?因为我是初学者,不懂这样的格式对不对的。。。。。。
NEID的字段是一样的类型.这样就可以把B数据库中的表D的CPSS转换成varchar类型插入到A数据库中的C表CPSS里面去了吧?
SQL怎么在有外键的主键表中插数据
这个外键的数据怎么插
参考技术A 外键数据就是这个外键所对应的表中必须存在这条数据,你才可以在外键的位置插入这条数据。比如A表是主表,B表为外键所在表:
A
id
name
B
id
aid
如果B表中aid为外键,对应A表的主键id,则在B表中插入数据时,aid字段的值必须在A表中存在。即,如果A表数据如下:
A
id
name
1
a1
2
a2
3
a3
4
a4
则,B表中插入数据时,如果aid为1~4,由于A表中存在该数据,插入可;但如果aid为A表中存在以外的数据(非1~4),则插入不可,因为外键要求主表必须存在这样的数据。
以上是关于SQL怎样把A表中的int字段插入到B表中的varchar型字段(不能更改原来A。B表中的字段原有属性)的主要内容,如果未能解决你的问题,请参考以下文章
插入数据库表中一条记录同时也插入另一个表中的SQL语句怎么写