sql如何对某个字段做字符替换?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql如何对某个字段做字符替换?相关的知识,希望对你有一定的参考价值。

比如把某个字段中所有"A"改成"B",语句要怎么写?

REPLACE
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。

语法
REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )

参数
'string_expression1'

待搜索的字符串表达式。string_expression1 可以是字符数据或二进制数据。

'string_expression2'

待查找的字符串表达式。string_expression2 可以是字符数据或二进制数据。

'string_expression3'

替换用的字符串表达式。string_expression3 可以是字符数据或二进制数据。

返回类型
如果 string_expression(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果 string_expression(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。

示例
下例用 xxx 替换 abcdefghi 中的字符串 cde。

SELECT REPLACE('abcdefghicde','cde','xxx')
GO

下面是结果集:

------------
abxxxfghixxx
(1 row(s) affected)
参考技术A 这个 可以用函数replace修改
replace 是将给定的字符 转换,如
select replace('abcdef','b','hi')
则执行结果为
ahicdef
参考技术B update table_name set column_name=replace(column_name,'A','B'); 参考技术C replace(字段名称,'A','B') 参考技术D update set 字段='B' from table where 字段='A'

SQL中如何删除某个字段内容的第一个字符

office 字段内容为“01600.政法学院”,我想把它改成“1600.政法学院”(就是把首位的0去掉)。
怎么做?

执行SQL语句:update 表名 set 字段名=stuff(字段名,substring(字段名,0,1),'')。

stuff函数:

1、作用:stuff函数用于删除指定长度的字符,并在指定的起点处插入另一组字符。

2、语法:STUFF ( character_expression , start , length ,character_expression )

3、参数:

(1)character_expression:一个字符数据表达式。character_expression 可以是常量、变量,也可以是字符列或二进制数据列。

(2)start:一个整数值,指定删除和插入的开始位置。如果 start 或 length 为负,则返回空字符串。如果 start 比第一个 character_expression长,则返回空字符串。start 可以是 bigint 类型。

(3)length:一个整数,指定要删除的字符数。如果 length 比第一个 character_expression长,则最多删除到最后一个 character_expression 中的最后一个字符。length 可以是 bigint 类型。

扩展资料:

如果 character_expression 是支持的字符数据类型之一,则返回字符数据 。 如果 character_expression 是支持的二进制数据类型之一,则返回二进制数据 。

如果开始位置或长度值是负数,或者开始位置大于第一个字符串的长度,则返回 Null 字符串。 如果开始位置为 0,则返回 Null 值。如果要删除的长度大于第一个字符串的长度,则删除到第一个字符串中的第一个字符。

如果结果值大于返回类型支持的最大值,则会引发错误。

参考资料来源:百度百科——Stuff

参考技术A update 表 set 字段=substring(字段,2,len(字段)-1) 就可以了

substring 是截取字符串 2 是从第二个截取 len(字段)-1 是截取多少个本回答被提问者采纳
参考技术B update 表 set office=RIGHT(office,LEN(office)-1)

或者
update 表 set office=stuff(office,1,1,'')
参考技术C select stuff('01600.政法学院',0,1,N''); 参考技术D select ltrim('01600.政法学院',0) from 表

以上是关于sql如何对某个字段做字符替换?的主要内容,如果未能解决你的问题,请参考以下文章

SQL替换字段最后一个字符和几个字符

如何替换掉字符串里的空格?

sql怎么替换字符串中的某个字符

sql 替换指定字符串

sql 表中一个字段含有大量的中文字符,怎么替换掉

替换数据库表中某个代码段中某个字段的某一段字符串sql