sqlanywhere-使用sql anywhere创建自定义函数

问题描述

使用sql anywhere创建自定义函数

使用sql anywhere创建自定义函数:GetSegStr(源串,分隔串,序号),返回字符串
功能:获取指定序号的按分隔串分隔的源串,
举例:
GetSegStr('abc-def-gh', '-', 1) = abc
GetSegStr('abc-def-gh', '-', 2) = def
GetSegStr('abc-def-gh', '-', 3) = gh

下面是SQL代码 帮忙改成SQL anywhere 谢谢

create function GetSegStr ( @source varchar(1000),@div varchar(10),@char_idx int )
returns varchar(1000)
as
begin
declare @c varchar(1000)
declare @i int
declare @i_p int
declare @s int
declare @e int

set @i = 0
set @e = 0
set @s = 0

while @i < @char_idx and charindex(@div,@source,@s + 1) > 0
begin
set @s = @e
set @e = charindex(@div,@source,@s + 1)
set @i = @i + 1
end
if @e = 0
set @e = LEN(@source) + 1
return substring(@source,@s + 1,@e - @s - 1 )
end

解决方案

http://www.cnblogs.com/diony/archive/2010/12/17/1909014.html

时间: 2024-11-07 01:48:53

sqlanywhere-使用sql anywhere创建自定义函数的相关文章

在服务器的mysql中创建自定义函数出错

问题描述 在服务器的mysql中创建自定义函数出错 我的一台机器,连接服务器上mysql,创建自定义函数报错[Err] 1418 - This function has none of DETERMINISTIC NO SQL or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators

SQL server使用自定义函数以及游标_MsSql

编号 标准宗地编码(landCode) 所在区段编码(sectCode) 1 131001BG001 G001 2 131001BG002 G001 3 131001BG003 G001 4 131001BG004 G002 5 131001BG005 G003 现在需要将表中的数据转换为如下表所示结果: 编号 区段编码 包含的标准宗地 1 G001 131001BG001,131001BG002,131001BG003 2 G002 131001BG004 3 G003 131001BG005

SQL server使用自定义函数以及游标

编号 标准宗地编码(landCode) 所在区段编码(sectCode) 1 131001BG001 G001 2 131001BG002 G001 3 131001BG003 G001 4 131001BG004 G002 5 131001BG005 G003 现在需要将表中的数据转换为如下表所示结果: 编号 区段编码 包含的标准宗地 1 G001 131001BG001,131001BG002,131001BG003 2 G002 131001BG004 3 G003 131001BG005

深入mysql创建自定义函数与存储过程的详解_Mysql

一 创建自定义函数在使用mysql的过程中,mysql自带的函数可能不能完成我们的业务需求,这时就需要自定义函数,例如笔者在开发过程中遇到下面这个问题:mysql表结构如下 复制代码 代码如下: DROP TABLE IF EXISTS `test`;CREATE TABLE `test` (  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,  `pic` varchar(50) NOT NULL,  `hashcode` varchar(16) N

sql server中自定义函数

create function getZHYE(@NM varchar(300)) returns FLOAT as begin Declare @memberName FLOAT set @memberName='0' select @memberName = 字段1 from 表A where 字段2=@NM if @memberName='0' begin set @memberName='0' end else if @memberName !='0' begin set @member

asp中sql语句生成自定义函数

 代码如下 复制代码 <% class SQLString '************************************ '变量定义 '************************************ 'sTableName ---- 表名 'iSQLType ----SQL语句类型:0-增加,1-更新,2-删除,3-查询 'sWhere ---- 条件 'sOrder ---- 排序方式 'sSQL ----值 Private sTableName,iSQLType,sW

几个SQL Server split自定义函数使用

例1,要求取得字符串aa,dd,cc,rr,fff中某个位置的字符串,如果在C#或Java很容易通过Split来实现,但是在Sql Server中就没有直接提供Split这个函数. 当然,此类问题总是可以解决的.  代码如下 复制代码 ALTER function [dbo].[core_split] ( @str varchar(100), @split char(1), @index int ) returns varchar(10) as begin declare @count int

SQL Server 中 自定义函数 和 游标 应用的经典案例

server|函数|游标     这是网友的问题,我当时立马给出了自己的解决方案,但是没有想到中间有点小问题,发现后经过自己仔细调试,完全得到正确结果后,那个网友已经结帖了.我的代码遂成为鸡肋,食之无味,弃之可惜.但是我觉得我的代码确实还是挺经典的,所以整理了一下,供各位网友欣赏.问题:  假设环境如下:     表1:      ID, NAME,      QQ,     PHONE, 表中数据:      1       秦云        10102800 13500000       

【转】SQL Server 的三种自定义函数(用户定义的函数)

原文链接:http://www.cftea.com/c/2007/08/6HLN4P3VBKA1W2EA.asp   "自定义函数"是我们平常的说法,而"用户定义的函数"是 SQL Server 中书面的说法. SQL Server 2000 允许用户创建自定义函数,自定义函数可以有返回值. 自定义函数分为:标量值函数或表值函数 如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数.可以使用多条 Transact-SQL 语句定义标量值函数. 如果 R