sql怎么把一个表中字段的部分内容替换成另一个表字段的内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql怎么把一个表中字段的部分内容替换成另一个表字段的内容相关的知识,希望对你有一定的参考价值。
mysql可以用以下方法
-- tableb 通过 aid 关联tablea 的id,把tableb的fielda字段写入tablea的fielda字段UPDATE tablea SET fielda = (select fielda from tableb where tablea.id=tableb.aid)
-- 关联方式一样,把tablea中fielda的字段中的特定字符串替换成tableb中指定字段的值
update tablea set fielda = REPLACE(fielda,'[价格]',
(select price from tableb where tablea.id=tableb.aid)
)
sql server就不能一条语句更新了,要做存储过程来处理
追问大神 这个有点高深看不懂 我简单点叙述下 我想把A表的a字段的前18位替换成B表b字段的内容,条件是 A表的ID =B表的ID
追答UPDATE A SET a = concat((select substr(b,1,18)
from B where A.id=B.id
),substr(a,19))
concat 为连接字符串函数
substr为字符串截取函数,位置从1起算
参考技术A 这个是进行修改与查询操作,你得先把另一个表字段的内容给查找出来,然后在对要修改的表进行操作,语句就不说了,简单,很简单追问那您帮我写下呗 难着不会,会者不难啊
参考技术B update test_tb set field=(select replace(field,'part',(select field2 from test_tb))
from test_tb)
以上是关于sql怎么把一个表中字段的部分内容替换成另一个表字段的内容的主要内容,如果未能解决你的问题,请参考以下文章
sqlserver 怎么将一个字段中61,62逗号隔开的的多个数据转变成另一张表中一个字段对应的多个数据