这个语句哪里出错了

luliangpin 2010-09-26 06:10:52
我运行如下的语句后,怎么好像有问题啊
select stuff(安全,2,3,5) FROM ABC

得到的是:
0500000000
05000
0500000000000000
05000000000

不是应该得到的是
0555000000
05550
0555000000000000
05550000000

难道我哪里写错了??
...全文
31 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zsh0809 2010-09-26
插入的字符character_expression
回复
ws_hgo 2010-09-26
你理解错啦
回复
ws_hgo 2010-09-26
create table #T
(
v varchar(50)
)
insert into #T select '0500000000'
union all select '0500000000000000'
union all select '05000'
union all select '05000000000'

select stuff(v,2,3,'555') FROM #T


--------------------------------------------------
0555000000
0555000000000000
05550
05550000000

(4 行受影响)
回复
王向飞 2010-09-26
是把‘安全’换成3个5吗?要是参考楼上 。不是的话,给出你的表数据。
回复
zsh0809 2010-09-26
select stuff(安全,2,3,5) FROM ABC

stuff的用法:
STUFF ( character_expression , start , length ,character_expression )
character_expression

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

start

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

length

一个整数,指定要删除的字符数。如果 length 比第一个 character_expression 长,则最多删除到最后一个 character_expression 中的最后一个字符。length 可以是 bigint 类型。
回复
王向飞 2010-09-26
select stuff(安全,2,3,'555') FROM ABC
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2010-09-26 06:10
社区公告
暂无公告