如何根据任何索引差距编写任何UDF获取值?

时间:2012-12-14 10:58:27

标签: sql sql-server tsql

我想编写一个UDF,它使用字符串值并启动索引号和计数号,如下所示:

GetValueUDF(“我18岁。”,6,2)输出:18,6:。起始点,2:计数

GetValueUDF(“我101岁。”,6,3)输出:101

GetValueUDF(“我101岁。”,1,4)输出:“我是”

1 个答案:

答案 0 :(得分:3)

我不太清楚为什么要为此创建用户定义的函数,因为这是substring函数的作用。但是您应该可以使用以下内容:

create function GetValueUDF
(
  @string varchar(max), 
  @startPosition int,
  @length int
)
returns varchar(max)
as

begin
  return substring(@string, @startPosition, @length)
end

请参阅SQL Fiddle with Demo