ASE12.x与15.x中的字符串替换功能的实现
来源:互联网 发布:网络渗透技术教程 编辑:程序博客网 时间:2024/06/05 01:06
----------------------------------------------------------------------------
---- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
---- 转载务必注明原始出处: http://blog.csdn.net/andkylee
--- 2010-04-27 19:08:43
---- 关键字: 替换 字符串 replace str_replace stuff charindex
----------------------------------------------------------------------------
在ASE12.x版本中Sybase没有提供类似replace的函数。在ASE15.x版本中添加了替换某个字符串中指定的字符为另一个字符的函数:str_replace。
使用方法为:
1> select str_replace('aaaa|bbb|ccc|','|',';')
2> go
-------------
aaaa;bbb;ccc;
上面的例子为将字符串aaaa|bbb|ccc|中的|替换为;
但是,在ASE12.x中需要上面上面的功能,就稍微一点麻烦了。需要结合两个函数:charindex,stuff来循环替换。
两个函数的用法分别为:
charindex - Returns an integer representing the starting position of an expression.
charindex(expression1, expression2)
stuff - Returns the string formed by deleting a specified number of characters from one string and replacing them with another string.
stuff(char_expr1|uchar_expr1, start, length,char_expr2|uchar_expr2)
实现的算法为:
declare @my_var char(25)
select @my_var = 'abc|ert|rfrfrf|'
while charindex('|', @my_var) > 0
begin
select @my_var = stuff(@my_var, charindex('|', @my_var), 1, ';')
end
select @my_var
执行结果为:
可以考虑将上面的sql语句编写成一个函数来实现从字符串中替换字符的功能。
- ASE12.x与15.x中的字符串替换功能的实现
- ASE12.x以及15.x中的保留关键字
- 给出函数atoi(x)的实现方法,其功能是将字符串x转换为整数
- cocos2d-x实现cocosbuilder的绑定与菜单按钮功能
- Cocos2d-x实现计时器与定时器功能
- C++实现的文本字符串替换功能
- Cocos2d-x中替换动画(Armature)中的节点与粒子
- Cocos2d-x中替换动画(Armature)中的节点与粒子
- 用'X'替换字符串内的所有字符
- Cocos2d-x中的字符串
- Cocos2d-x中的字符串
- Cocos2d-x中的字符串
- Cocos2d-x实现Android的Toast功能
- Cocos2d-x实现Android的Toast功能
- Cocos2d-x实现Android的Toast功能
- Cocos2d-x实现用户触摸的功能
- 【thinkphp3.x】thinkphp3.x中的Widget功能
- ArcGIS for Javascript API 4.X 实现分屏对比中的地图联动功能的实现
- 代码
- Interesting Problem容斥原理
- 如何开启SQLSERVER数据库缓存依赖优化网站性能
- 函数的解析之C/C++
- get started
- ASE12.x与15.x中的字符串替换功能的实现
- 改变就从今日始
- DLL我的理解
- phpdesigner 7 注册码 注册机 汉化版
- 关于代码的传说(-)
- 开篇
- 我靠~UTF-8的BOM
- msserver默认数据库
- Control的Invoke和BeginInvoke