ntext类型的字段批量替换

linwch1983 2007-03-19 03:46:45
原字段内容:

文字1
文字2

更新成:

文字1
文字2

是为了将数据库中的UBB代码去掉,字段类型为ntext
...全文
187 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2007-03-19
  • 打赏
  • 举报
回复
CASE
计算条件列表并返回多个可能结果表达式之一。

CASE 具有两种格式:

简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。


CASE 搜索函数计算一组布尔表达式以确定结果。
两种格式都支持可选的 ELSE 参数。

语法
简单 CASE 函数:

CASE input_expression
WHEN when_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
END

CASE 搜索函数:

CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
END

dawugui 2007-03-19
  • 打赏
  • 举报
回复
利用CASE语句,自己做判断.
linwch1983 2007-03-19
  • 打赏
  • 举报
回复
文字1
==>
<a href=http://www.cc.com/032403.htm>文字1</a>



文字2 ==> <strong>文字2</strong>



==>
<img src=/images/news/upimg/2003429134556.jpg>

就是这样的,现在就只要转换这几个,是将UBB代码转换成HTML的代码
dawugui 2007-03-19
  • 打赏
  • 举报
回复
如果没有规则做不到.

除非你能将每种类型如何变换告诉我.
linwch1983 2007-03-19
  • 打赏
  • 举报
回复
我是数据还有这样的
文字1 文字2

我是想将他们变成

<a href=http://www.cc.com/032403.htm>文字1</a><strong>文字2</strong>
<img src=/images/news/upimg/2003429134556.jpg>

不知能否实现
dawugui 2007-03-19
  • 打赏
  • 举报
回复
文字1
文字2

上面语句包含htm],[/url],我是利用的这两个东西.
这是你的数据,你的库中有不是这样格式的数据,可能会出错.最好给出所有类型的数据.
linwch1983 2007-03-19
  • 打赏
  • 举报
回复
还是有点问题

会出现这样

向 substring 函数传递了无效的 length 参数。
语句已终止。
linwch1983 2007-03-19
  • 打赏
  • 举报
回复
我试一下,可以的话马上给分,谢谢!
dawugui 2007-03-19
  • 打赏
  • 举报
回复
--上面错了.

if object_id('pubs..tb') is not null
drop table tb
go

create table tb(col ntext)
insert into tb(col) values('文字1')
insert into tb(col) values('文字2')
go

update tb
set col = substring(col , charindex('htm]' , col) + 4 , charindex('[/url]' , col) - charindex('htm]' , col) - 4)

select * from tb

drop table tb
/*
col
------
文字1
文字2

(所影响的行数为 2 行)
*/
dawugui 2007-03-19
  • 打赏
  • 举报
回复
--这样或许保险一点.

if object_id('pubs..tb') is not null
drop table tb
go

create table tb(col ntext)
insert into tb(col) values('文字1')
insert into tb(col) values('文字2')
go

update tb
set col = substring(col , charindex('htm]' , col) + 4 , charindex('[/url]' , col) - charindex(']' , col) -1)

select * from tb

drop table tb

/*
col
------
文字1
文字2

(所影响的行数为 2 行)
*/
dawugui 2007-03-19
  • 打赏
  • 举报
回复
if object_id('pubs..tb') is not null
drop table tb
go

create table tb(col ntext)
insert into tb(col) values('文字1')
insert into tb(col) values('文字2')
go

update tb
set col = substring(col , charindex(']' , col) + 1 , charindex('[/' , col) - charindex(']' , col) -1)

select * from tb

drop table tb
/*
col
------
文字1
文字2

(所影响的行数为 2 行)
*/

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧