1. 首页 > 科技快讯 >

sql字符串替换 c语言字符表

sql替换查询结果字符串中的字符

用replace函数将年,月替换成横杠,日替换成空,从而形成tb的标准日志格式,然后再做比较。这里给出replace的示例:

sql字符串替换 c语言字符表sql字符串替换 c语言字符表


select replace(replace(REPLACE('2017年01月01日', '年', '-'), '月', '-'), '日', '')

注: 此replace函数在SQL Server数据库上适用,其他数据库可能要做相应调整。

sql中如何批量替换字段里的字符串?

估计你是没理解replace的意思\x0d\x0a\x0d\x0a譬如你举例的这几个\x0d\x0aupdate表名set字段名=replace(字段名,'aaaa','cccc');\x0d\x0a\x0d\x0a这样以后\x0d\x0aaaaaxxxbbb变成ccccxxxbbb\x0d\x0aaaaamtbbb变成ccccmtbbb\x0d\x0a\x0d\x0a替换的是里边的aaa\x0d\x0a\x0d\x0a你那么写不知道你要改什么,如果你只要改aaabbb的那种可以在后边加where条件\x0d\x0a\x0d\x0aupdate表名set字段名=replace(字段名,'aaaa','cccc')where字段名like'aaabbb'\x0d\x0a\x0d\x0a当然,这个模糊查询是access里的,如果是sqlserver或oracle等,那个是要替换成%的\x0d\x0a\x0d\x0a----补充----\x0d\x0a按你说的意思\x0d\x0aaccess:\x0d\x0aupdate表名set字段名='A'where字段名like'aaabbb'\x0d\x0a\x0d\x0asqlserver或oracle:\x0d\x0aupdate表名set字段名='A'where字段名like'aaa%bbb'

MSSQL Server数据库内容替换方法

在使用iwms系统的过程中,我们会经常遇到数据内容的替换作。在告诉大家如何替换数据内容之前,我建议大家先了解一下SQL Server数据库的数据存储类型:

SQL Server数据类型:

数据替换一般都发生在字符串数据字段中,除了ntext类型字段以外的其他字符串数据字段都可以使用以下的sql语句进行替换:

update [swf_Upload] set [Dir] = replace([Dir],'200901/14','200901/15')update [swf_Content] set [Description] =replace([Description],'200901/14','200901/15')update [swf_Content_01] set [content] = replace(convert(varchar(4000), [content]),'200901/14','200901/15')

UPDATE [数据表名] SET [字段名] = REPLACE([字段名],'老字符串','新字符串')

比如,替换iwms文章数据表(iwms_news)中的标题字段(title)的部分内容,我们应该这么写:

UPDATE [iwms_news] SET [title] = REPLACE([title],'老字符串','新字符串')

上面的sql语句在iwms后台的sql执行里面可以直接执行,基本上可以搞定所有的替换作,但是由于ntext数据长度的原因,这一方法对ntext类型字段无效。那我们该用什么方法替换ntext类型字段的内容呢?方法有两种:

一是类型转换,将ntext类型转换为varchar类型,然后再用replace。适合于单页内容长度4000的文章。

update [数据表名] set [字段名] = replace(convert(varchar(4000), [字段名]),'老字符串','新字符串')

比如,替换iwms文章数据表(iwms_news)中的标题字段(content,ntext类型字段)的部分内容,我们应该这么写:

update iwms_news set [content] = replace(convert(varchar(4000),[content]),'老字符串','新字符串')

二是SQL Server存储过程

declare @ptr varbinary(16)

declare @artId int

declare @Position int,@len int

set @len = datalength('老字符串')

declare wux_Cursor scroll Cursor

for

select textptr([字段名]),[key字段名] from [数据表名]

for read only

open wux_Cursor

fetch next from wux_Cursor into @ptr,@artId

while @@fetch_status=0

begin

select @Position=patindex('%老字符串%',[字段名]) from [数据表名] where [key字段名]=@artId

while @Position0

begin

set @Position=@Position-1

updatetext [数据表名].[字段名] @ptr @Position @len '新字符串'

select @Position=patindex('%老字符串%',[字段名]) from [数据表名] where [key字段名]=@artId

end

fetch next from wux_Cursor into @ptr,@artId

end

close wux_cursor

deallocate wux_cursor

go

比如,替换iwms文章数据表(iwms_news)中的标题字段(content,ntext类型字段)的部分内容,我们应该这么写

declare @ptr varbinary(16)

declare @artId int

declare @Position int,@len int

set @len = datalength('老字符串')

declare wux_Cursor scroll Cursor

for

select textptr([content]),[articleid] from iwms_news

for read only

open wux_Cursor

fetch next from wux_Cursor into @ptr,@artId

while @@fetch_status=0

begin

select @Position=patindex('%老字符串%',[content]) from iwms_news where [articleid]=@artId

while @Position0

begin

set @Position=@Position-1

updatetext iwms_news.[content] @ptr @Position @len '新字符串'

select @Position=patindex('%老字符串%',[content]) from iwms_news where [articleid]=@artId

end

fetch next from wux_Cursor into @ptr,@artId

end

close wux_cursor

deallocate wux_cursor

go

ok了,需要注意的是:存储过程只能在SQL Server查询分析器中执行。

另外,由于iwms数据库结构的问题,有分页的文章内容需要先后对iwms_news和iwms_pages两个表内容进行替换作。

sql语句中如何分割字符串进行替换

方法一:

varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace

替换

text

ntext

数据类型字段的语句

。update

表名

set

字段名=replace(cast(与前面一样的字段名

as

varchar(8000))

,'原本内容','想要替换成什么')

方法二:

update

[表名]

set

字段名

=replace(与前面一样的字段名,'原本内容','想要替换成什么')

sql去掉特殊符号?

MySQL SELECT REPLACE(REPLACE(数据库字段,"b'",""),"'","")

要在 SQL 中去掉字符串中的特殊符号,可以使用 REPLACE() 函数。

例如,如果要去掉字符串中的 b' 符号,可以使用如下 SQL 语句:

SELECT

REPLACE(列1, 'b''', '') 列1FROM 表A;

其中,REPLACE() 函数接受三个参数:原字符串、要替换的子字符串和新子字符串。在本例中,我们要替换原字符串中的 b' 为空字符串,即删除它。

结果应该类似于下面这样:

列1

1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,443ee46421ec7f7dee51fccbf7fd0c34,bx

1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,443ee46421ec7f7dee51fccbf7fd0c34,cx

如果需要去掉字符串中多种不同的特殊符号,可以使用多次 REPLACE() 函数,例如:

SELECT

REPLACE(REPLACE(列1, 'b''', ''), 'c''', '') 列1FROM 表A;

希望这些信息能帮助你解决问题。

sql中如何批量替换字段里的字符串?

估计你是没理解replace的意思

譬如你举例的这几个

update 表名 set 字段名=replace(字段名,'aaaa','cccc');

这样以后

aaaaxxxbbb 变成 ccccxxxbbb

aaaamtbbb 变成 ccccmtbbb

替换的是里边的aaa

你那么写不知道你要改什么,如果你只要改aaabbb的那种可以在后边加where条件

update 表名 set 字段名=replace(字段名,'aaaa','cccc') where 字段名 like 'aaabbb'

当然,这个模糊查询是access里的,如果是sqlserver或oracle等,那个是要替换成%的

----补充----

按你说的意思

access:

update 表名 set 字段名='A' where 字段名 like 'aaabbb'

sqlserver或oracle:

update 表名 set 字段名='A' where 字段名 like 'aaa%bbb'

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息