① sql语句replace替换问题
Replace("字符串","要被替代的字符串","替代后的字符串")
② SQL语句replace怎么替换
Replace("字符串","要被替代的字符串","替代后的字符串")
1、sql
replace
into用法详细说明REPLACE的运行与INSERT很相似。只有一点例外,假如表中的一个旧记录与一个用于PRIMARYKEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。
2、注意,除非表有一个PRIMARY
KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。
3、所有列的值均取自在REPLACE语句中被指定的值。所有缺失的列被设置为各自的默认值,这和INSERT一样。您不能从当前行中引用值,也不能在新行中使用值。如果您使用一个例如“SET
col_name
=
col_name
+
1”的赋值,则对位于右侧的列名称的引用会被作DEFAULT(col_name)处理。因此,该赋值相当于SET
col_name
=
DEFAULT(col_name)
+
1。为了能够使用REPLACE,必须同时拥有表的INSERT和DELETE权限。
③ SQL语句replace替换问题
在使用iwms系统的过程中,我们会经常遇到数据内容的替换操作。在告诉大家如何替换数据内容之前,我建议大家先了解一下SQL
Server数据库的数据存储类型:
SQL
Server数据类型:
以上是数据库的基础知识,是做网站的朋友都应该知道的内容(无论你使用什么cms),所以建议大家都耐心看一下。
数据替换一般都发生在字符串数据字段中,除了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
@Position>0
begin
set
@Position=@Position-1
④ sql语句中的替换怎么写
楼主已经说了,单纯的用replace()不行的,我这有个办法,如果楼主这个字段的形式比较固定,比如:
都是XXX-123456789-123就是相同的位都是"-",那么可以这样写SQL语句:
update table_name set fields = substring(fields,1,4)+relace(substring(fields,5,len(fields)),'-','***')
这样就可以只替换后面的"-"符号了。
⑤ SQL 替换 语句
update GOODS set GoodsNamestr=replace(GoodsNamestr,'商品名称','宝贝名称')
update GOODS set GoodsNamestr=replace(GoodsNamestr,'商品名称','宝贝名称') where ID=7
--------------------------
服务器: 消息 306,级别 16,状态 1,行 1
不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符。
这个应该是因为你操作的字段是text、ntext 和 image 数据类型
这几个类型的字段不能用= 、!=进行比较 ,要用 IS NULL、IS NOT NULL 或 LIKE 运算符
如果对text、ntext 和 image 数据类型的字段做部分替换修改也不能直接update这个字段
⑥ SQL 替换 语句
update
GOODS
set
GoodsNamestr=replace(GoodsNamestr,'商品名称','宝贝名称')
update
GOODS
set
GoodsNamestr=replace(GoodsNamestr,'商品名称','宝贝名称')
where
ID=7
--------------------------
服务器:
消息
306
级别
16
状态
1
行
1
能比较或排序
text、ntext
image
数据类型
除非使用
IS
NULL
或
LIKE
运算符
应该
操作
字段
text、ntext
image
数据类型
几
类型
字段
能用=
、!=进行比较
要用
IS
NULL、IS
NOT
NULL
或
LIKE
运算符
text、ntext
image
数据类型
字段做部
替换修改
能直接update
字段
⑦ SQL替换语句
如果要把数据库记录改掉的话:
update 表 set 字段='律师' where 字段= '医生'
如果只是想查询的时候把记录改掉而不改数据库记录的话:
select 新的字段=case 字段 when '医生' then '律师' else 字段名 end from 表
⑧ mysql 中有什么关键字可以代替 sql语言中的
如果sql语句中存在关键字,可以用反勾号(Esc下面的那个键)做转义;
` 是 MySQL 的转义符,避免和 mysql 的本身的关键字冲突,只要你不在列名、表名中使用 mysql 的保留字或中文,就不需要转义。
所有的数据库都有类似的设置,不过mysql用的是`而已。通常用来说明其中的内容是数据库名、表名、字段名,不是关键字。例如:
select from from table;
第一个from是字段名,最后的table表名,但是同时也是mysql关键字,这样执行的时候就会报错,所以应该使用
select `from` from `table`;
当然,为了便于阅读,不建议使用关键字作为字段名、表名,同时,应该对数据库名、表名、字段名用一对儿反引号包含。
⑨ SQL替换语句怎么写
--子查询写法
Updateaset字段1=(select字段2frombwherea.字段3=b.字段4)
--自连接写法
Updateaset字段1=b.字段2frombwherea.字段3=b.字段4
案例如下:
--字查询写法
Updatecrm_account a seta.account_principal=(select b.field4 Fromcrm_mole_6 b where a.account_name=b.field1)
--自连接写法
Updatecrm_account a seta.account_principal=b.field4 Fromcrm_mole_6 b where a.account_name=b.field1
如有问题可以追问,我当及时回答.
希望能帮到你!
⑩ mysql批量替换的SQL语句怎么写
替换语句使用UPDATE语句,例如:
UPDATE
表名
SET
字段名=修改后的值
WHERE
条件
如果你还是不会写语句,请告诉我你希望进行怎样的替换,我帮你写。