如何替换B字段内包含A字段的那部分内容

Customer表
A字段  varchar(50)     内容(客户姓名)
B字段  varchar(1000)   内容(其他字符...客户姓名...其他字符)
需要达到效果:将B字段中的客户姓名替换掉
B字段内容替换成(其他字符......其他字符)
如何将每个数据行内的B字段内所有符合A字段内容的文字部分替换成空隔或其他字符?
UPDATE Customer SET B = replace(B, A, ‘‘);

Access语句:UPDATE Content SET v_cate_2 = replace(v_cate_2, v_cate_1, ‘‘);

Mssql语句:UPDATE Content SET v_cate_2 = replace(v_cate_2,v_cate_1,‘‘) WHERE charindex(v_cate_1,v_cate_2) > 0;

在SQL中,CHARINDEX函数常常用来在一段字符中搜索字符或者字符串。
语法
CHARINDEX ( expression1 , expression2 [ , start_location ] )
参数
expression1
一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。
start_location
在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。
返回类型
int
注释
如果 expression1 或 expression2 之一属于 Unicode 数据类型(nvarchar 或 nchar)而另一个不属于,则将另一个转换为 Unicode 数据类型。
如果 expression1 或 expression2 之一为 NULL 值,则当数据库兼容级别为 70 或更大时,CHARINDEX 返回 NULL 值。当数据库兼容级别为 65 或更小时,CHARINDEX 仅在 expression1 和 expression2 都为 NULL 时返回 NULL 值。
如果在 expression2 内没有找到 expression1,则 CHARINDEX 返回 0。

时间: 2024-08-26 18:19:34

如何替换B字段内包含A字段的那部分内容的相关文章

Oracle中判断字段是否包含中文

如果要判断字段中包含中文,有个简单的方法. SQL> drop table test purge; SQL> create table test as select * from dba_objects where rownum<10; SQL> update test set object_name='中国' where  rownum <3; SQL> commit; SQL> col object_name format a30 SQL> col as

SimpleCursorAdapter参数from必须包含_id字段的原因

String [] from ={Books.Id,Books.Name,Books.Author,Books.Category}; int [] to={R.id.ID,R.id.nameID,R.id.authorID,R.id.categoryID}; ListAdapter bookAdapter = new SimpleCursorAdapter(this,R.layout.booklist,cursor,from,to);调试的时候在SimpleCursorAdapter出现no r

ORACLE判别字段是否包含中文

在ORACLE数据库中如何查找那些字段里面包含中文的数据记录呢,有时候就是有这样的特殊需求,下面整理了一些判别字段中包含中文记录的几个方法 1:使用ASCIISTR函数判别 ASCIISTR函数说明: ASCIISTR返回字符的ASCII形式的字符串.非ASCII的字符被转化为\xxxx的形式. 使用ASCIISTR函数也是根据非ASCII字符会被转化这个特性来判别中文字符,只要里面包含中文字符,则必定会有\xxx这样的字符.且简体汉字的编码范围是B0A1 - F7FE.如下例子所示 CREAT

MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法

首先我们建立一张带有逗号分隔的字符串. CREATE TABLE test(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),pname VARCHAR(20) NOT NULL,pnum VARCHAR(50) NOT NULL); 然后插入带有逗号分隔的测试数据 INSERT INTO test(pname,pnum) VALUES('产品1','1,2,4'); INSERT INTO test(pname,pnum) VALUES('产

Linux[Fedora]查找文件包含的字段

find 与 grep组合查找 find . –name '文件类型' | xargs grep –n '查找内容'文件类型可正则表达式通配, [.]表示当前目录下进行查找,也可自由指定目录.比如: find /etc –name '*properties' | xargs grep –n 'cacheSize' 查询/etc目录下,包含cacheSize字段并以properties结尾的文件 find . –name '文件类型' –exec grep –n '查找内容'find /etc –

linux查找特定类型的文件中是否包含特定字段

shell是个好东西,极大的方便了查询工作,之前遇到一个问题,查询包含有特定字段的特定文件,经过查询,命令如下: 1 find . -type f -name '*.cpp' print|xargs grep -r '#include' -l 上述命令的意思是查询包含有 '#include' 字符的 cpp文件,并给出文件名列表.具体需要熟悉find 和grep命令和各个参数的意思. 参考链接:http://blog.sina.com.cn/s/blog_691a84f301015khx.htm

Oracle生成查询包含指定字段名对应的所有数据表记录语句

应用场合:已知字段名字,查询数据库中所有数据表中包含该字段名的所有数据表 操作办法:指定字段名,数据库表用户,执行下面查询语句即可 --Oracle生成查询包含指定字段名对应的所有数据表记录语句 declare mycolumnname VARCHAR(255):='userid';--定义要查询的字段名变量,运行前修改成您要查询的字段名myownername VARCHAR(255):='system';--定义要查询的数据库用户名变量,运行前修改成您要查询的数据库用户名mystring NV

判断DataReader中是否包含某个字段

利用DataReader的GetName()方法,可以获取字段名称 for (int i=0; i<dataReader.FieldCount; i++) { //判断是否含有fieldName字段 if(dataReader[i].GetName().Equals(fieldName); } 判断DataReader中是否包含某个字段,布布扣,bubuko.com

查找包含某字段名的表名

select a.name as 表名 from sysobjects a left join syscolumns b on a.id=b.id where a.xtype='U' and b.name='字段名' --查找不包含指定字段的表名 select a.name as 表名 from sysobjects a left join syscolumns b on a.id=b.id where a.xtype='U' EXCEPT select a.name as 表名 from sy