SQL 关于 替换字段的值 说简单简单,说难也不简单

问题描述

直接上表结构:tableName:TopicidSUBSCRIBERSSERVICEID1EDS,PSP,HOSS,ATMS,EDMS,FWLM,PCSS,KMS,HRSS,HRPTLBigFileService:EMP_ONE两个字段,现在要更新SUBSCRIBERS字段,脚本如下:UPDATETOPICSETSUBSCRIBERS=REPLACE(SUBSCRIBERS,',PCS','')WHERESERVICEID='BigFileService:EMP_ONE';UPDATETOPICSETSUBSCRIBERS=(SUBSCRIBERS||',PCS')WHERESERVICEID='BigFileService:EMP_ONE';执行完后就会,此时就会出现一个问题idSUBSCRIBERSSERVICEID1EDS,PSP,HOSS,ATMS,EDMS,FWLMS,KMS,HRSS,HRPTL,PCSBigFileService:EMP_ONE我只想加一个pcs的数据值,却把已经存在的PCSS干掉了,然后FWLM变为了FWLMS,各位大神有何高见我只想追加一个新的值,如果这个新的值在SUBSCRIBERS字段中存在那么就先删除,然后追加,但是这种相似的怎么办呢???

解决方案

解决方案二:
像你种就可以直接写在一起updatetablesetcolumn=replace(column,'a','')||'a'whereid='xxx'

时间: 2025-01-02 05:05:52

SQL 关于 替换字段的值 说简单简单,说难也不简单的相关文章

sql replace 替换字段中部份指定内容

创建数据库教程 create database cnnet; 创建数据表 CREATE TABLE `cnnet`.`test` ( `id` INT( 4 ) NOT NULL AUTO_INCREMENT , `url` VARCHAR( 50 ) NULL , PRIMARY KEY ( `id` ) ) ENGINE = MYISAM 插几条数据: INSERT INTO `test` (`id`, `url`) VALUES (1, 'www.1aa.cm'), (2, 'www.1a

使用SQL批量替换语句修改、增加、删除字段内容_MsSql

sql替换语句,用该命令可以整批替换某字段的内容,也可以批量在原字段内容上加上或去掉字符. 命令总解:update 表的名称 set 此表要替换的字段名=REPLACE(此表要替换的字段名, '原来内容', '新内容') 如 UPDATE Whir_ProductRelese SET ReleseName=REPLACE(ReleseName,'http://www.maidq.com','http://maidq.com') 举例说明: 1)把backupfile表里url的字段内容里为htt

mysql语句,去除字段首尾的“|”,替换字段中间的“|”为“,”。这个字段不是所有值要替换

问题描述 mysql语句,去除字段首尾的"|",替换字段中间的"|"为",".这个字段不是所有值要替换 表名是article 需要修改的字段为keywords , 将 "|魅力芜湖|文物保护|委员会|"改为"魅力芜湖,文物保护,委员会".然后keywords 这个字段 有些值本身就是 "国内,新闻"这种值,不需要改. 请问我该怎么写. 用 trim ?然后replace 具体怎么写我不知

mysql replace 批量替换字段中的值例子

命令 UPDATE 表名 SET 指定字段 = replace(指定字段, '要替换的字符串', '想要的字符串') WHERE 条件; 例子  代码如下 复制代码 UPDATE article SET content = replace(content, '解决', '解放') WHERE ID<5000; 例子 项目中有可能会遇到批量替换字段中的值,如下需求: 把上图中img_path字段中的upload全部替换成uploads,这个时候mysql的replace函数就很有用了.   sql

sql查询表中字段值在另一个表中的字段是否出现过

问题描述 sql查询表中字段值在另一个表中的字段是否出现过 各位大神,小弟初学sql想请教一个问题~~先谢谢大家啦~~ 例如我有两个表: 表A:personal (人员表) pid name 1 aaa 2 bbb 3 ccc 4 ddd 5 eee 6 ffff 7 ggg 表B:metting (会议表,pidlist代表参加会议的人员,用"|"分隔) mid pidlist 1 |2|3|4| 2 |1|3|4| 3 |1|2|4| 我想要 列出表A中没有参加会议的人,如果按我的

sql字段默认值设置成存储过程

问题描述 sql字段默认值设置成存储过程 存储过程 [dbo].[autoidu] N'客户编号'执行后能得到一个字符串,比如是'123456789',但每次值是不一样的. 现在有个表 客户资料,我想加个字段 客户编号,我希望设置默认值为上面的存储过程执行后的值.应该怎么设置? alter table 客户资料 add 客户编号 nvarchar(15) default [dbo].[autoidu] N'客户编号' 是不是不能这样?有没有什么办法解决? 解决方案 alter table 客户资

sql server-SQL SERVER2012某字段超过另外一个字段的值,触发邮件

问题描述 SQL SERVER2012某字段超过另外一个字段的值,触发邮件 SQL SERVER2012某字段超过另外一个字段的值,触发邮件 最好能有个小的说明 解决方案 字段超过另一个字段,可以在插入或者修改触发器中拦截,然后判断,发送邮件. 这里有一个插入触发器+发邮件的完整的例子,你可以参考: 发送邮件触发器http://blog.csdn.net/tongyu2009/article/details/8105532 至于修改触发器,是一个道理,你google下就有. 解决方案二: htt

package-怎么在SQL语句中对抽出的字段的值进行判断?

问题描述 怎么在SQL语句中对抽出的字段的值进行判断? 要求是这样的,举个例子** SELECT A,B,C FROM TAB1 , 要求如果A的值为0的话就显示为空,请问怎么加判断啊?在哪里加呢? 解决方案 我已经写出来了,谢谢各位,还是跟大家分享一下 SELECT DECODE(A,'0','') AS A ,B AS B,C AS C FROM(SELECT A,B,C,D FROM TAB1) 解决方案二: SELECT case A when 0 then "" else c

SQL Server中检查字段的值是否为数字的方法_MsSql

最近有一个项目,需要检查某个字符型字段的值是否为数字,由于数据行是海量,所以需要通过SQL语句来筛查,这里拿来做个备忘. 用到的函数为IsNumeric,具体语句如下所示: 复制代码 代码如下: SELECT * FROM 表 WHERE IsNumeric(需要检查的字段名) = 0 ISNUMERIC    确定表达式是否为一个有效的数字类型.       语法    ISNUMERIC   (   expression   )       参数    expression       要计